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 相关文章推荐
探讨如何把session存入数据库
Jun 07 PHP
PHP数据库链接类(PDO+Access)实例分享
Dec 05 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
Mar 16 PHP
php简单中奖算法(实例)
Aug 15 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
PHP实现的mysql读写分离操作示例
May 22 PHP
php的优点总结 php有哪些优点
Jul 19 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
PHP变量的作用范围实例讲解
Dec 22 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中strlen和mb_strlen函数的区别
2014/03/07 PHP
PDO::query讲解
2019/01/29 PHP
如何在PHP中读写文件
2020/09/07 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python实现爬虫下载美女图片
2015/07/14 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
员工自我鉴定范文
2013/10/06 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
护士感人事迹
2014/05/01 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
总经理致辞
2015/07/29 职场文书
公司中层管理培训心得体会
2016/01/11 职场文书