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 相关文章推荐
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
php 中英文语言转换类
Sep 07 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
php的dl函数用法实例
Nov 06 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
利用php生成验证码
Feb 23 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 PHP
PHP数组与字符串互相转换实例
May 05 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 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 MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
JS 常用校验函数
2009/03/26 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
python 实现判断ip连通性的方法总结
2018/04/22 Python
python 实现生成均匀分布的点
2019/12/05 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
入团者的自我评价分享
2013/12/02 职场文书
服装厂厂长职责
2013/12/16 职场文书
继电保护工岗位职责
2014/01/05 职场文书
旅游市场营销方案
2014/03/09 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
学风建设演讲稿
2014/09/12 职场文书
同学聚会通知书
2015/04/20 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server