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+MYSQL的文章管理系统(二)
Oct 09 PHP
基于文本的搜索
Oct 09 PHP
PHP操作数组相关函数
Feb 03 PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
php实例分享之二维数组排序
May 15 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
Smarty保留变量用法分析
May 23 PHP
php实现的一段简单概率相关代码
May 30 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
Sep 22 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
js常用代码段收集
2011/10/28 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现定时播放mp3
2015/03/29 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
anaconda中更改python版本的方法步骤
2019/07/14 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
python3.7添加dlib模块的方法
2020/07/01 Python
python为什么要安装到c盘
2020/07/20 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
高中美术教学反思
2014/01/19 职场文书
土地转让协议书范本
2014/04/15 职场文书
2014年销售员工作总结
2014/12/01 职场文书
学生自我评语
2015/01/04 职场文书
招商银行工作证明
2015/06/17 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL