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调用Twitter的RSS的实现代码
Mar 10 PHP
PHP操作xml代码
Jun 17 PHP
php ajax 静态分页过程形式
Sep 02 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
AJAX的使用方法详解
Apr 29 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
PHP工厂模式的日常使用
Mar 20 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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简单实现DES加密解密的方法
2016/07/12 PHP
PHP时间处理类操作示例
2018/09/05 PHP
php写app用的框架整理
2019/09/29 PHP
图片连续滚动代码[兼容IE/firefox]
2009/06/11 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
python实现socket端口重定向示例
2014/02/10 Python
跟老齐学Python之数据类型总结
2014/09/24 Python
python 读入多行数据的实例
2018/04/19 Python
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
python2.7的flask框架之引用js&amp;css等静态文件的实现方法
2019/08/22 Python
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
安全责任书怎么写
2014/07/28 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技