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超级全局变量
Jan 26 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
php图片上传存储源码并且可以预览
Aug 26 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
php操作MongoDB类实例
Jun 17 PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
PHP制作用户注册系统
Oct 23 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
php 访问oracle 存储过程实例详解
Jan 08 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中Object对象的笔记分享
2011/06/28 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
Python六大开源框架对比
2015/10/19 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
浅析python函数式编程
2020/09/26 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
应聘护士求职信
2014/07/21 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
基层工作经历证明
2015/06/19 职场文书
入党函调证明材料
2015/06/19 职场文书
如何写新闻稿
2015/07/18 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
JavaScript前端面试组合函数
2022/06/21 Javascript