Новичок в php и первый раз столкнулся с SOAP. Облазил все что смог но не могу понять как правильно написать запрос сервису.
Есть на сервисе такие методы
[0] => RiverShipResponse getRiverRegistry(Ship $ship)
[1] => SeaShipResponse getSeaRegistry(Ship $ship)
Через SOAPUI увидел пример запроса:
<S:Envelope
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<S:Header>
<To xmlns="http://www.w3.org/2005/08/addressing">http://portal.ru/services/Services</To>
<Action xmlns="http://www.w3.org/2005/08/addressing">http://site.ru/Service/getRiverRegistryRequest</Action>
<ReplyTo xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</ReplyTo>
<FaultTo xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</FaultTo>
<MessageID xmlns="http://www.w3.org/2005/08/addressing">uuid:4d9u6fdf-fac7-4054-
8d34-be10a90yua4d</MessageID>
<wsse:Security S:mustUnderstand="1">
<wsse:UsernameToken xmlns:ns14="http://docs.oasis-open.org/ws-sx/wssecure-conversation/200512" xmlns:ns13="http://www.w3.org/2003/05/soap-envelope"
wsu:Id="uuid_4s5c788e-hg85-654d-bb3a-c4658b1f90">
<wsse:Username>11111</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pass</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</S:Header>
<S:Body>
<ns2:Ship xmlns:ns2="http://site.ru">
<!--<riverReg>xxx</riverReg>-->
</ns2:Ship>
</S:Body>
</S:Envelope>
Мой код:
$headers[] = new SoapHeader(" ",
" ",
' ');
$client->__setSoapHeaders($headers);
print_r($client->getRiverRegistry());
При запуске без
$headers[] = new SoapHeader(" ",
" ",
' ');
$client->__setSoapHeaders($headers);
Выдает ошибку: Uncaught SoapFault exception: [wsa:MessageAddressingHeaderRequired] A required header representing a Message Addressing Property is not present in
В SOAPUI закоментировал строку:
<Action xmlns="http://www.w3.org/2005/08/addressing">http://site.ru/Service/getRiverRegistryRequest</Action>
получил ту же ошибку, но не могу понять как с ней работать в php
Пожалуйста, напишите что и как необходимо записать в заголовки, чтобы скрипт отработал. Заранее огромное спасибо!