在一些接口的设计中有时用到了SOAP方式的请求,比如顺丰BSP的接口。
我尝试不同方式的POST方式请求,要么完全请求不到东西,要么接收到乱码,均以失败告终。
针对顺丰接口的SOAP请求的核心代码分享如下:
代码如下 | 复制代码 |
/** * 发送soap请求 */ private function _soap() { $client = new SoapClient($this->serviceUrl); $info = new stdClass(); $info->arg0 = $this->xml; $param = array($info); $response = $client->__call(“sfexpressService”,$param); return $response->return ; } /** * 拼接出请求的xml */ public function createXml() { $xml = ‘ ’.$this->user.’,’.$this->passWord.’
invoice_no.’” />
’; $this->xml = $xml; } |
提示:
1.$this->serviceUrl 顺丰分配的BSP请求地址,注意是?wsdl的地址
2.$this->user,$this->passWord 即是顺丰分配的ID和校验码
3.返回的return是一个XML的String,你可能需要simplexml_load_string来解析。
原文来自:http://www.jxm.cc/blogs/498.html