php webservice实例(转载)

首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。

我测试的环境为:apache2.2.11 php5.2.10

做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice。

  1. //server端 serverSoap.php 
  2. $soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/"));//This uri is your SERVER ip. 
  3. $soap->addFunction('minus_func');                                                 //Register the function 
  4. $soap->addFunction(SOAP_FUNCTIONS_ALL); 
  5. $soap->handle(); 
  6.  
  7. function minus_func($i$j){ 
  8.     $res = $i - $j
  9.     return $res

 

  1. //client端 clientSoap.php 
  2. try { 
  3.     $client = new SoapClient(null, 
  4.         array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/"
  5.     ); 
  6.     echo $client->minus_func(100,99); 
  7.  
  8. } catch (SoapFault $fault){ 
  9.     echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring; 

这是客户端调用服务器端函数的例子,我们再搞个class的。

 

  1. //server端 serverSoap.php 
  2. $classExample = array(); 
  3.  
  4. $soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/",'classExample'=>$classExample)); 
  5. $soap->setClass('chesterClass'); 
  6. $soap->handle(); 
  7.  
  8. class chesterClass { 
  9.     public $name = 'Chester'
  10.  
  11.     function getName() { 
  12.         return $this->name; 
  13.     } 

 

  1. //client端 clientSoap.php 
  2.  
  3. try { 
  4.     $client = new SoapClient(null, 
  5.         array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/"
  6.     ); 
  7.     echo $client->getName(); 
  8.  
  9. } catch (SoapFault $fault){ 
  10.     echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring; 

转载:http://hi.baidu.com/chesterphp/blog/item/d8ebaefbb0942417a9d3116c.html