Когда я пытаюсь подключиться к веб-сервису, я всегда получаю следующую ошибку
Исключение SoapFault: [s: Отправитель] Ошибка при проверке безопасности для сообщения
Я такженеобходимо использовать защитный заголовок, полный запрос мыла отправляется:
<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;
}