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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
Oct 09 PHP
模拟flock实现文件锁定
Feb 14 PHP
PHP常用编译参数中文说明
Sep 27 PHP
Yii框架登录流程分析
Dec 03 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
PHP常见数组函数用法小结
Mar 21 PHP
php中strtotime函数性能分析
Nov 20 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
PHP实现小程序批量通知推送
Nov 27 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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 深入理解strtotime函数的使用详解
2013/05/23 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
Python获取服务器信息的最简单实现方法
2015/03/05 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
在C#中如何实现多态
2014/07/02 面试题
团委书记的竞聘演讲稿
2014/04/24 职场文书
文明家庭事迹材料
2014/12/20 职场文书
清洁员岗位职责
2015/02/15 职场文书
城管个人总结
2015/02/28 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
浅谈JS的原型和原型链
2021/06/04 Javascript