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 相关文章推荐
discuz安全提问算法
Jun 06 PHP
常用的php对象类型判断
Aug 27 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 PHP
基于php实现随机合并数组并排序(原排序)
Nov 26 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 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
ajax实现无刷新分页(php)
2010/07/18 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
node.js发送邮件email的方法详解
2017/01/06 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
详解详解Python中writelines()方法的使用
2015/05/25 Python
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
Python编程求质数实例代码
2018/01/31 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
详细的大学生创业计划书模板
2014/01/27 职场文书
团日活动总结范文
2014/04/25 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
Python基础之数据类型知识汇总
2021/05/18 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android