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程序
Oct 09 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
Jun 27 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
在html文件中也可以执行php语句的方法
Apr 09 PHP
10个php函数实用却不常见
Oct 13 PHP
Composer设置忽略版本匹配的方法
Apr 27 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 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
短波收音机简介
2021/03/01 无线电
用PHP编写PDF文档生成器
2006/10/09 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
JavaScript async/await原理及实例解析
2020/12/02 Javascript
easy_install python包安装管理工具介绍
2013/02/10 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
Python定义一个函数的方法
2020/06/15 Python
详解Django中异步任务之django-celery
2020/11/05 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
深圳茁壮笔试题
2015/05/28 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
大学校庆策划书
2014/01/31 职场文书
音乐教育感言
2014/03/05 职场文书
保险公司演讲稿
2014/09/02 职场文书
西安兵马俑导游词
2015/02/02 职场文书
话题作文之学会尊重
2019/12/16 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫