当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP中Soap模块安装与使用例子

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-20 10:37:20 浏览: 评论:0 

php_mysql.dll   MySQL函数库

php_mysqli.dll   MySQLi函数库

php_oci8.dll   Oracle 8函数库

php_openssl.dll  OpenSSL函数库

php_overload.dll  对象重载函数库

php_pdf.dll   PDF函数库

php_pgsql.dll   PostgreSQL函数库

php_printer.dll  打印机函数库

php_shmop.dll   共享内存函数库

php_snmp.dll   SNMP函数库

php_soap.dll   SOAP函数库

php_sockets.dll  Socket函数库

php_sybase_ct.dll  Sybase函数库

php_tidy.dll   Tidy函数库

php_tokenizer.dll  Tokenizer函数库

php_w32api.dll   W32api函数库

php_xmlrpc.dll   XML-RPC函数库

php_xslt.dll   XSLT函数库

php_yaz.dll   YAZ函数库

php_zip.dll   Zip文件函数库

php_zlib.dll   ZLib压缩函数库

SOAP模块的使用方法:

首先我们来了解一下SOAP扩展的三个主要对象:

1.SoapServer

SoapServer用于创建php服务器端页面时定义可被调用的函数及返回响应数据,创建一个NON-WSDL模式的SoapServer对象的语法格式如下:

$soap = new SoapServer(null,$arr);

$arr是SoapServer的属性信息,是一个数组.

SoapServer对象的addFunction方法是用来声明哪个函数可以被客户端调用,使用方法如下:

$soap->addFunction($functionName);

$functionName是允许客户端调用的方法名称,如果所有的方法都允许调用,可使用下面的方法:

$soap->addFunction(SOAP_FUNCTIONS_ALL);

SoapServer对象的handle方法用来处理用户输入并调用相应的函数,最后返回给客户端处理的结果,使用方法如下:

$soap->handle([$soapRequest]);

$soapRequest是一个可选参数,用来表示用户的请求信息,如果不指定$soapRequest,则表示服务器将接收用户的全部请求.

2.SoapClient

SoapClient用于调用远程服务器上的SoapServer页面,并实现了对相应函数的调用,创建一个SoapClient对象的方法如下:

$client = new SoapClient(null,$arr); 

其中,参数$arr与SoapServer相同,穿件SoapClient对象后,调用服务器端的方法如下:

$client->functionName($p); 

functionName()为服务器端待调用的函数名,$p 为参数.

3.SoapFault

SoapFault用于生成soap访问过程中可能出现的错误,创建一个SoapFault对象的方法为:

$fault = new SoapFault($code,$msg); 

参数$code为用户定义的错误代码,$msg为用户定义的错误信息,soapFault对象会在服务器端页面出现错误时自动生成,或者通过用户自行创建SoapFault对象时生成,对于Soap访问时出现的错误,客户端可通过捕捉SoapFalut对象来获得相应的错误信息,在客户端捕获SoapFault对象后,可以通过下面的代码获得错误代码和错误信息,代码如下:

$fault->code;//错误代码

$fault->msg; //错误信息

以上就是PHP SOAP模块主要的三个对象介绍,下面我们通过一个简单的实例,帮助大家理解一下soap模块的使用方法.

4.PHP SOAP实例(NON-WSDL模式)

服务器(server)端代码server.php:

  1. $arr = array
  2.     'location' => 'http://192.168.187.132/server.php'
  3.     'uri'      => 'http://192.168.187.132/' 
  4. );   
  5. $soap = new SoapServer( null ,$arr ); 
  6.  
  7. $soap->addFunction(SOAP_FUNCTIONS_ALL);  //允许客户端调用所有的方法 
  8. $soap->handle(); 
  9.  
  10.  
  11. function a(){ 
  12.     return '李坏博客'
  13. }    
  14. function b($b){ 
  15.     return $b;  
  16. }   

客户端(client)代码:

  1. <?php 
  2.     $arr = array
  3.         'location' => 'http://192.168.187.132/server.php'
  4.         'uri'      => 'http://192.168.187.132/' 
  5.     );   
  6.     $soap = new SoapClient( null, $arr ); 
  7.      
  8.     echo $soap->a(),'<br />'
  9.     echo $soap->b('b'); 
  10. ?> 

Tags: Soap模块安装 使用例子

分享到: