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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
php 结果集的分页实现代码
Mar 10 PHP
php生成图形(Libchart)实例
Nov 06 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
教你在PHPStorm中配置Xdebug
Jul 27 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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在Web开发领域的优势
2006/10/09 PHP
php中chdir()函数用法实例
2014/11/13 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
浅谈Python的文件类型
2016/05/30 Python
详解Python中的文件操作
2016/08/28 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
python实现事件驱动
2018/11/21 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
《秋姑娘的信》教学反思
2014/02/28 职场文书
《老山界》教学反思
2014/04/08 职场文书
设备售后服务承诺书
2014/05/30 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
银行贷款收入证明
2014/10/17 职场文书
大学生个人学年总结
2015/02/15 职场文书
上班迟到检讨书
2015/05/06 职场文书
唐山大地震的观后感
2015/06/05 职场文书
学习雷锋主题班会
2015/08/14 职场文书
nginx 添加http_stub_status_module模块
2022/05/25 Servers