原po使用一簡易webservice,只需要丟入一xml資料,假設網址為
https://xxx.xxx.xxx/WebService.asmx?op=setData
使用postman直接將整串
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
中間略...
</soap:Body>
</soap:Envelope>
參數以raw的方式傳出去,可以正常執行.
但若使用SoapClient
$url = "https://xxx.xxx.xxx/WebService.asmx?WSDL";
$xml = "<soap::Envelope.....中間略....";
$client = new SoapClient($url);
$result = $client->SetData($xml);
或是使用SimpleXMLElement
$xmlr = new SimpleXMLElement($xml);
$parameter = new stdClass();
$parameter->xml = $xmlr->asXML();
$result = $client->SetData($xmlr);
都會回傳以下error message
Message: System.Web.Services.Protocols.SoapException:
伺服器無法處理要求。