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 相关文章推荐
一个目录遍历函数
Oct 09 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 PHP
如何使用Strace调试工具
Jun 03 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
php微信公众号开发之图片回复
Oct 20 PHP
PHP模型Model类封装数据库操作示例
Mar 14 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 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文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
2014/12/15 Javascript
Node.js的包详细介绍
2015/01/14 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
python机器学习之神经网络(三)
2017/12/20 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
python利用faker库批量生成测试数据
2020/10/15 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
建筑设计所实习生自我鉴定
2013/09/25 职场文书
办公室主任职责范文
2013/11/08 职场文书
一封普通求职者的求职信
2013/11/20 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
社会实践的活动方案
2014/08/22 职场文书
校运会新闻稿
2015/07/17 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技