PHP XML请求SOAP WebService

时间:2017-09-14 15:28:26

标签: php web-services soap

很抱歉,如果我问这里已经讨论过的东西,但我尝试过的所有组合都不起作用。我不是PHP开发人员,但我正在尝试创建PHP示例,它将向我的SOAP asp.net webservice发送请求并回应响应。

我正在尝试使用以下PHP代码:

$soapUrl = "https://test-api.xxxx.xx/reseller.asmx?op=loginXML";

$xml_post_string = '<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><loginXML xmlns="https://test-api.zemi.mk/"><acckey>adsdsad</acckey><password>pass</password></loginXML></soap12:Body></soap12:Envelope>';

$headers = array(
"POST /reseller.asmx HTTP/1.1",
"Host: test-api.*****.**",
"Content-Type: application/soap+xml; charset=utf-8",
"Content-Length: ".strlen($xml_post_string)
); 

$url = $soapUrl;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = curl_exec($ch); 
curl_close($ch);

$response1 = str_replace("<soap:Body>","",$response);
$response2 = str_replace("</soap:Body>","",$response1);

$parser = simplexml_load_string($response2);

echo $parser;

但它不起作用。 我正在尝试执行的是:

$soapUrl = "https://test-api.++++.++/reseller.asmx?op=loginXML"; $xml_post_string = 'adsdsadpass'; $headers = array( "POST /reseller.asmx HTTP/1.1", "Host: test-api.++++.++", "Content-Type: application/soap+xml; charset=utf-8", "Content-Length: ".strlen($xml_post_string) ); $url = $soapUrl; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch); $response1 = str_replace("","",$response); $response2 = str_replace("","",$response1); $parser = simplexml_load_string($response2); echo $parser;
你能帮我解决我做错的事吗? 感谢

0 个答案:

没有答案