PHP使用SOAP调用.net的WebService数据
网络编程 2021-07-05 09:49www.168986.cn编程入门
需要和一个.系统进行数据交换,对方提供了一个WebService接口,使用PHP如何调用这个数据呢,狼蚁网站SEO优化就看看使用SOAP调用的方法吧
这个与一般的PHP POST或GET传值再查库拿数据的思路有点不一样,需要用到SOAP模块,处理方法也很简单,就是有一些需要注意的事情。
确认你的PHP.ini开启了.SOAP,就是 extension=php_soap.dll 这前面的分号去咯。
代码很简单
<?php
$client = new SoapClient('http://.aa./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./GetTrafficViolationInfo"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://.w3./2001/XMLSchema-instance" xmlns:xsd="http://.w3./2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap./soap/envelope/">
<soap:Body>
<GetArticle xmlns="http://tempuri./">
<param1>string</param1>
<param2>string</param2>
</GetArticle>
</soap:Body>
</soap:Envelope>
确认你的PHP.ini开启了.SOAP,就是 extension=php_soap.dll 这前面的分号去咯。
代码很简单
代码如下:
<?php
$client = new SoapClient('http://.aa./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./GetTrafficViolationInfo"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://.w3./2001/XMLSchema-instance" xmlns:xsd="http://.w3./2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap./soap/envelope/">
<soap:Body>
<GetArticle xmlns="http://tempuri./">
<param1>string</param1>
<param2>string</param2>
</GetArticle>
</soap:Body>
</soap:Envelope>
上一篇:PHP SPL使用方法和他的威力
下一篇:php获取远程图片体积大小的实例
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指