使用php中的soap将xml请求发送到另一个Web服务器

时间:2012-07-16 10:01:02

标签: php xml soap

我需要使用SOAP向另一个Web服务器发送XML请求。

我需要将请求发送到:

http://59.162.33.102/ArzooWS/services/DOMFlightAvailability?wsdl

我的代码在

http://mydomain/demo1/test.php

我是SOAP新手。看我的代码:

$test ="<?xml version=\'1.0\' encoding=\'UTF-8\'?><soapenv:Envelope xmlns:soapenv=\'http://schemas.xmlsoap.org/soap/envelope/\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'> <soapenv:Body>  <getAvailability xmlns=\'http://avail.flight.arzoo.com\'>   <in0 xmlns=\'\'>  &lt;Request&gt;&lt;Origin&gt;BLR&lt;/Origin&gt;&lt;Destination&gt;DEL&lt;/Destination&gt;&lt;DepartDate&gt;2012-08-27&lt;/DepartDate&gt;&lt;ReturnDate&gt;2012-08-28&lt;/ReturnDate&gt;&lt;AdultPax&gt;1&lt;/AdultPax&gt;&lt;ChildPax&gt;0&lt;/ChildPax&gt;&lt;InfantPax&gt;0&lt;/InfantPax&gt;&lt;Currency&gt;INR&lt;/Currency&gt;&lt;Clientid&gt;My Id&lt;/Clientid&gt;&lt;Clientpassword&gt; my Password&lt;/Clientpassword&gt;&lt;ArzooFWS1.1&lt;/Clienttype&gt;&lt;Preferredclass&gt;E&lt;/Preferredclass&gt;&lt;mode&gt;ONE&lt;/mode&gt;&lt;PreferredAirline&gt;AI,G8,IC,6E,9W,S2,IT,9H,I7,SG&lt;/PreferredAirline&gt;&lt;/Request&gt;    </in0>  </getAvailability></soapenv:Body></soapenv:Envelope>";
$location_URL = "http://mydomain/demo1/test.php";
$action_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightAvailability?wsdl";

$client = new SoapClient(null, array(
    'location' => $location_URL,
    'uri'      => "",
    'trace'    => 1,
));
try{
    $order_return = $client->__doRequest($test,$location_URL,$action_URL,1);
    //Get response from here
    print_r($order_return);
    $return = $client->__getLastResponse();  
    echo $return;
} catch (SoapFault $exception) {
    var_dump(get_class($exception));
    var_dump($exception);

但没有任何反应。我需要得到答复。 请问有谁知道吗?

1 个答案:

答案 0 :(得分:0)

尝试更改:

$action_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightAvailability?wsdl";

$action_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightAvailability";

wsdl链接仅提供soap消息格式的指南。您需要将请求发送到您的服务端点。