PHP使用SOAP调用.net的WebService数据


Posted in PHP onNovember 12, 2013

这个与一般的PHP POST或GET传值再查库拿数据的思路有点不一样,需要用到SOAP模块,处理方法也很简单,就是有一些需要注意的事情。
首先确认你的PHP.ini开启了.SOAP,就是 extension=php_soap.dll 这前面的分号去咯。
代码很简单:

<?php
$client = new SoapClient('http://www.aa.net/SearchService.asmx?WSDL');//这个SOAP地址要换成你自己的
$client->soap_defencoding = 'utf-8';  
$client->decode_utf8 = false;   
$client->xml_encoding = 'utf-8'; 
$param = array('param1'=>'01', 'param2'=>'02');
//$param["param1"]="01";
//$param["param2"]="02";
//$result = $client->__soapCall("GetArticle", array( $param ));
$result = $client->__Call("GetArticle", array( $param ));
if (is_soap_fault($result))
{
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
else
{
    $data = $result->GetArticleResult; //这里返回的是类,必须使用->得到元素的值
    print_r($data);
}
?>

需要注意的一点是,参数是数组外再包一层数组,就是 array( array() )
附SOAP接口的一些参数:
以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。
POST /SearchService.asmx HTTP/1.1
Host: 202.105.183.61
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetTrafficViolationInfo"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetArticle xmlns="http://tempuri.org/">
      <param1>string</param1>
      <param2>string</param2>
    </GetArticle>
  </soap:Body>
</soap:Envelope>
PHP 相关文章推荐
PHP 高手之路(三)
Oct 09 PHP
PHP下escape解码函数的实现方法
Aug 08 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
Jul 01 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
Apr 03 PHP
PHP多态代码实例
Jun 26 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
php快速排序原理与实现方法分析
May 26 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
PHP面向对象程序设计重载(overloading)操作详解
Jun 13 PHP
YII2框架中添加自定义模块的方法实例分析
Mar 18 PHP
php获取远程图片体积大小的实例
Nov 12 #PHP
php过滤XSS攻击的函数
Nov 12 #PHP
php获取新浪微博数据API实例
Nov 12 #PHP
php生成N个不重复的随机数实例
Nov 12 #PHP
三种php连接access数据库方法
Nov 11 #PHP
PHP中ob_start函数的使用说明
Nov 11 #PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
Nov 11 #PHP
You might like
php mssql 时间格式问题
2009/01/13 PHP
php文件上传的简单实例
2013/10/19 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
浅析vue component 组件使用
2017/03/06 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
简单了解django orm中介模型
2019/07/30 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
大课间活动制度
2014/01/18 职场文书
园林技术专业求职信
2014/07/28 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书