PHP中如何调用webservice的实例参考


Posted in PHP onApril 25, 2013

下面用一个例子说明:web service服务是查询QQ用户是否在线

使用php5开发客户端:

<?php
try {
    //$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
    $client = new SoapClient("http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl");
    var_dump($client->__getFunctions());
    print("<br/>");
    var_dump($client->__getTypes());
    print("<br/>");
    class qqCheckOnline{
       var $qqCode = "10000";
    };
    $arrPara = array(new qqCheckOnline);
    $arrResult = $client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);
    echo $arrResult->qqCheckOnlineResult . "<br/>";
} catch (SOAPFault $e) {
    print $e;
}
?>

代码确实很简单吧,创建SoapClient对象时,可以使用保存在本地WSDL文件,也可以使用远程的地址,后面的array数组里可以带上很多的参数,具体参数可以查php的SoapClient帮助,这里带的是字符集编码,如果调用方法的参数里有中文,一定要指定字符集编码,否则会出错。

调用web service前可以先调用SoapClient的__geunctions()和__getTypes()方法看一下你要调用的web service暴露的方法,参数和数据类型,需要注意的是传入的参数名一定要和soapclient里面定义的一致,否则参数是传不过去的。

需要使用SoapClient的__soapCall()或__call()方法,具体使用方法可以查php的帮助文档。如果参数要求是一个结构体,请用类代替,如上面的代码。

另外发现个问题,如果web service方法返回的是xml格式的字符串,php接收到以后会自己把数据内容解析出来,而不是xml字符串.

PHP 相关文章推荐
MVC模式的PHP实现
Oct 09 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
利用php输出不同的心形图案
Apr 22 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 PHP
Laravel框架创建路由的方法详解
Sep 04 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 #PHP
php中防止SQL注入的最佳解决方法
Apr 25 #PHP
Apache下禁止php文件被直接访问的解决方案
Apr 25 #PHP
PHP笔记之:日期函数的使用介绍
Apr 24 #PHP
php笔记之:AOP的应用
Apr 24 #PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 #PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
Apr 24 #PHP
You might like
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
python中的装饰器详解
2015/04/13 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
服装电子商务创业计划书
2014/01/30 职场文书
超市国庆节促销方案
2014/02/20 职场文书
中国梦团日活动总结
2014/07/07 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript