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采集中可以过滤多行代码的正则表达式
Mar 17 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
基于PHP对XML的操作详解
Jun 07 PHP
PHP语法自动检查的Vim插件
Aug 11 PHP
一个比较不错的PHP日历类分享
Nov 18 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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 各种排序算法实现代码
2009/08/20 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
Element Input组件分析小结
2018/10/11 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
python3安装speech语音模块的方法
2018/12/24 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
应届毕业生自我评价分享
2013/12/15 职场文书
生产操作工岗位职责
2014/09/16 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
教师思想工作总结2015
2015/05/13 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript