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 相关文章推荐
dedecms模版制作使用方法
Apr 03 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
解析crontab php自动运行的方法
Jun 24 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
php PDO异常处理详解
Nov 20 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP中如何使用Redis接管文件存储Session详解
Nov 28 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 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
drupal 代码实现URL重写
2011/05/04 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
基于Jquery的简单&amp;简陋Tabs插件代码
2010/02/09 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
vue--vuex详解
2019/04/15 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
python手写均值滤波
2020/02/19 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
大学生家政服务项目创业计划书
2014/01/30 职场文书
捐款倡议书范文
2014/02/02 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
学习经验交流会策划书
2015/11/02 职场文书