PHP利用SOAP进行webservice开发(客户端)
2013-07-10 10:32
429 查看
参考:http://blog.sina.com.cn/s/blog_777f9dbb01010fd1.html
extension = php_soap.dll
extension = php_curl.dll
extension = php_openssl.dll
linux php.ini配置:
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
extension = "soap.so"
并把soap.so放到/usr/local/lib/php/extensions/no-debug-non-zts-20060613目录下
php支持soap参考:/article/8529120.html
header("content-type:text/html;charset=utf-8");
ini_set( 'default_socket_timeout', 7 ); // timeout
ini_set("soap.wsdl_cache_enabled", "0"); // no cache
$client = new SoapClient("http://url/ooxx.asmx?wsdl");
$param =array('参数'=>'值','参数'=>'值');
$p =$client->__soapCall('调用方法名',array('parameters'=> $param)); // 注意,这里一定要再次组成一个array,才能把参数名正确发送出去,不然发送的参数名为param1,param2...
print_r($p->调用方法名Result);
?>
header("content-type:text/html;charset=utf-8");
ini_set( 'default_socket_timeout', 7 ); // timeout
ini_set("soap.wsdl_cache_enabled", "0"); // no cache
$client = new SoapClient( "http://url/ooxx.asmx?wsdl", array( 'proxy_host' => "10.100.32.20", 'proxy_port' => 9080 ) );
$param =array('参数'=>'值','参数'=>'值');
$p =$client->__soapCall('调用方法名',array('parameters'=> $param)); // 注意,这里一定要再次组成一个array,才能把参数名正确发送出去,不然发送的参数名为param1,param2...
print_r($p->调用方法名Result);
?>
配置
windows php.ini配置:extension = php_soap.dll
extension = php_curl.dll
extension = php_openssl.dll
linux php.ini配置:
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
extension = "soap.so"
并把soap.so放到/usr/local/lib/php/extensions/no-debug-non-zts-20060613目录下
php支持soap参考:/article/8529120.html
示例-WSDL模式:
<?phpheader("content-type:text/html;charset=utf-8");
ini_set( 'default_socket_timeout', 7 ); // timeout
ini_set("soap.wsdl_cache_enabled", "0"); // no cache
$client = new SoapClient("http://url/ooxx.asmx?wsdl");
$param =array('参数'=>'值','参数'=>'值');
$p =$client->__soapCall('调用方法名',array('parameters'=> $param)); // 注意,这里一定要再次组成一个array,才能把参数名正确发送出去,不然发送的参数名为param1,param2...
print_r($p->调用方法名Result);
?>
示例-非WSDL模式:
<?phpheader("content-type:text/html;charset=utf-8");
ini_set( 'default_socket_timeout', 7 ); // timeout
ini_set("soap.wsdl_cache_enabled", "0"); // no cache
$client = new SoapClient( "http://url/ooxx.asmx?wsdl", array( 'proxy_host' => "10.100.32.20", 'proxy_port' => 9080 ) );
$param =array('参数'=>'值','参数'=>'值');
$p =$client->__soapCall('调用方法名',array('parameters'=> $param)); // 注意,这里一定要再次组成一个array,才能把参数名正确发送出去,不然发送的参数名为param1,param2...
print_r($p->调用方法名Result);
?>
手册上有人对上面加粗部分代码(函数参数)的注释
注释1:If your service is a .NET doc/lit, which means the input message has a single part named 'parameters' that is a structure that wraps the parameters. Your call should look like this:
<?php
$params = array('param_name_1'=>$val_1,'param_name_2'=>$val_2);
$client->call('MethodName', array('parameters'=>$params));
?>
注释2:
Note that calling __soapCall and calling the generated method from WSDL requires specifying parameters in two different ways.
For example, if you have a web service with method login that takes username and password, you can call it the following way:
<?php
$params= array('username'=>'name','password'=>'secret');
$client->login($params);
?>
If you want to call __soapCall, you must wrap the arguments in another array as follows:
<?php
$client->__soapCall('login', array($params));
?>
相关文章推荐
- 利用SOAP扩展开发WebService(PHP)
- 利用SOAP扩展开发WebService(PHP)
- 在Linux下,利用gSoap生成的WebService客户端进行开发时遇到的问题
- linux环境下,利用gsoap生成webservice客户端进行应用程序开发的小结
- 利用NuSoap开发WebService(PHP) 分类: php 2010-09-08 12:00 5832人阅读 评论(1) 收藏 举报 webservicephpsoapstringencod
- linux环境下,利用gsoap生成webservice客户端进行应用程序开发的小结 (轉)
- 利用NuSoap开发WebService(PHP)
- php 如何利用 soap调用.Net的WebService asmx文件
- 利用NuSoap开发WebService(PHP)
- Java 中利用 axis2 进行webservice 客户端编写
- webService(php)的soap与nusoap服务端与客户端的通信
- php5.3中webservice利用soap—WSDL文件解析-WSDL : 描述你的Web服务(转载)
- 客户端利用CXF中的JaxWsProxyFactoryBean 对webservice地址进行调用
- php 如何利用 soap调用.Net的WebService asmx文件
- 【soap】利用php的soap实现webservice
- 利用NuSoap开发WebService(PHP)
- 利用NuSoap开发WebService(PHP)
- php5.3中webservice利用soap—WSDL文件解析-WSDL : 描述你的Web服务(转载)