通過HTTPS PHP中的WSDL當我試圖連接到一個Web服務,我總是得到一個故障調用使用Zend SOAP客戶端
的SOAPFault例外:爲驗證安全性時:[S發件人]時出現錯誤消息
我也有使用安全頭,全SOAP請求被髮送:
<env:Envelope>
<env:Header>
<ns2:Action env:mustUnderstand="1">
http://ws.agiv.be/crabtools/ICRABTools/GetAddressLocation
</ns2:Action>
<ns2:MessageID>urn:uuid:10000001blsd-ghfs</ns2:MessageID>
<ns2:ReplyTo>
<ns2:Address>
http://www.w3.org/2005/08/addressing/anonymous
</ns2:Address>
</ns2:ReplyTo>
<ns2:To>https://grab.beta.agiv.be/Tools/CRABTools.svc</ns2:To>
<o:Security env:mustUnderstand="1">
<wsu:Timestamp env:mustUnderstand="1">
<wsu:Created>2010-06-09T13:44:19Z</wsu:Created>
<wsu:Expires>2010-06-09T13:49:19Z</wsu:Expires>
</wsu:Timestamp>
<o:UsernameToken>
<o:Username>myUsername</o:Username>
<o:Password>myPassword</o:Password>
</o:UsernameToken>
</o:Security>
</env:Header>
<env:Body>
<ns1:GetAddressLocation>
<ns1:houseNumberId>2306852</ns1:houseNumberId>
</ns1:GetAddressLocation>
</env:Body>
</env:Envelope>
我的用戶名和密碼是否正確,我已經嘗試過媒體鏈接以後更改的截止日期,但不解決它。
這個故障的原因是什麼?
也許我必須在我的php代碼中配置更多的東西。
我創建的覆蓋Zend_Soap_Client
public function __soapCall($function_name, $arguments, $options=null, $input_headers=null, $output_headers=null) {
$inputheaders = array($this->wsactionheader(),$this->unencryptedSecurityHeader());
$result = parent::__soapCall($this->functionname, $arguments, $options, $inputheaders);
return $result;
}
我重寫Zend__Soap_client,更新了我的問題 – 2010-06-11 13:52:56