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与ASP
Oct 09 PHP
JS 网站性能优化笔记
May 24 PHP
php URL跳转代码 减少外链
Jun 25 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
浅析php静态方法与非静态方法的用法区别
May 17 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
php计算十二星座的函数代码
2012/08/21 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
给Function做的OOP扩展
2009/05/07 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
浅析Python中的序列化存储的方法
2015/04/28 Python
python实现员工管理系统
2018/01/11 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
python能做哪些生活有趣的事情
2020/09/09 Python
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
初三学生个人自我评定
2014/04/06 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
孙振耀退休感言
2015/08/01 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
python异步的ASGI与Fast Api实现
2021/07/16 Python