2013-03-12 4 views
0

У меня возникла проблема с созданием мыльного вызова. Как видно, заголовок, который поставляется от стороннего клиента, не имеет имени заголовка. Мне нужно создать вызов мыла, передав имя пользователя и пароль в запрос мыла, который не имеет имени в заголовке. Я попробовал несколько примеров, но не успел. Вызов ниже работает в мыльном интерфейсе, но у меня возникают серьезные проблемы, когда дело доходит до php. Любая помощь будет высоко ценитсяЗаголовок заголовка без заголовка php

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:int="http://namespace.example.com/"> 
    <soapenv:Header> 
     <int:password>123</int:password> 
     <int:login>abc</int:login> 
    </soapenv:Header> 
    <soapenv:Body> 
     <int:getEventTree> 
     <!--Optional:--> 
     <lang>en</lang> 
     </int:getEventTree> 
    </soapenv:Body> 
</soapenv:Envelope> 

ответ

0

Пожалуйста, обратите внимание на http://php.net/manual/en/soapclient.dorequest.php

Вы можете использовать такой код:

$response = $soapClient->__doRequest(
    $request, 
    $endpoint, 
    $soapAction, 
    $soapVersion, 
    $one_way  
); 

$ запрос может быть определена как строка, содержащая XML, такие как:

$request = 
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/""xmlns:int="http://namespace.example.com/"> 
    <soapenv:Header> 
     <int:password>123</int:password> 
     <int:login>abc</int:login> 
    </soapenv:Header> 
    <soapenv:Body> 
     <int:getEventTree> 
      <!--Optional:--> 
      <lang>en</lang> 
     </int:getEventTree> 
    </soapenv:Body> 
</soapenv:Envelope>'; 

Вы можете определить остальные аргументы в __doRequest() ca в зависимости от вашей конфигурации.

Смежные вопросы