[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Написать заголовки и отправить запрос SOAP - PHP
Serega_9
Здравствуйте!
Новичок в 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

Пожалуйста, напишите что и как необходимо записать в заголовки, чтобы скрипт отработал. Заранее огромное спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.