Как создать необходимый запрос SOAP в PHP - PullRequest
0 голосов
/ 28 апреля 2011

Я использую следующий код в php:

<?php
$client  = new SoapClient('http://devapi.stellatravelgateway.stellatravelservices.co.uk/DirectoryService.svc?wsdl', array('trace' => 1));
$result = $client -> Authenticate(  array( 
                        'authenticateRequest' => array('BranchCode' => '6937', 
                        'UserName' => 'xxxx', 
                        'Password' => 'xxxx', 
                        'Application' => 'ExternalAPI',
                        'BranchID' => '1')));
echo $client->__getLastRequest();
?>

В результате этого SOAP-запроса

  <?xml version="1.0" encoding="UTF-8" ?> 
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://stellatravelgateway.stellatravelservices.co.uk/DirectoryService">
- <SOAP-ENV:Body>
- <ns1:Authenticate>
- <ns1:authenticateRequest BranchCode="6937" UserName="xxxx" Password="xxxx" Application="ExternalAPI">
  <ns1:BranchID>1</ns1:BranchID> 
  </ns1:authenticateRequest>
  </ns1:Authenticate>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Но я хочу этот вывод ...

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://stellatravelgateway.stellatravelservices.co.uk/DirectoryService/IDirectoryService/Authenticate</Action>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Authenticate xmlns="http://stellatravelgateway.stellatravelservices.co.uk/DirectoryService">
      <authenticateRequest Password="BREEZE2" Application="ExternalAPI" BranchCode="xxxx" UserName="xxxx">
        <BranchID>1</BranchID>
      </authenticateRequest>
    </Authenticate>
  </s:Body>
</s:Envelope>

1 Ответ

1 голос
/ 02 мая 2011

Если вы вернете тип содержимого XML, пользовательский интерфейс будет зависеть от вашего браузера. В IE9 и Firefox я понимаю, что вы хотите, включая + и -, чтобы развернуть / свернуть теги.

Если вы хотите отобразить это на веб-странице в своем собственном формате, вам придется проанализировать это самостоятельно. Вы можете использовать программы чтения XML.

На PHP.net есть несколько программ для чтения XML, вы можете выбрать наиболее подходящее для вас: http://us.php.net/xml

...