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 相关文章推荐
PHP5 面向对象程序设计
Feb 13 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
测试php函数的方法
Nov 13 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
laravel学习教程之关联模型
2016/07/30 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
深入浅析Python中的yield关键字
2018/01/24 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
求职推荐信
2013/10/28 职场文书
我爱读书演讲稿
2014/05/07 职场文书
法人代表证明书
2014/09/18 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
大学生自荐书范文
2015/03/05 职场文书
计算机实训心得体会
2016/01/14 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript