问题
I need to send an XML request to another web server using SOAP.
I need to send the request to:
http://59.162.33.102/ArzooWS/services/DOMFlightAvailability?wsdl
and my code is in
http://mydomain/demo1/test.php
I am new to SOAP. See my code:
$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=\'\'> <Request><Origin>BLR</Origin><Destination>DEL</Destination><DepartDate>2012-08-27</DepartDate><ReturnDate>2012-08-28</ReturnDate><AdultPax>1</AdultPax><ChildPax>0</ChildPax><InfantPax>0</InfantPax><Currency>INR</Currency><Clientid>My Id</Clientid><Clientpassword> my Password</Clientpassword><ArzooFWS1.1</Clienttype><Preferredclass>E</Preferredclass><mode>ONE</mode><PreferredAirline>AI,G8,IC,6E,9W,S2,IT,9H,I7,SG</PreferredAirline></Request> </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);
But nothing happens. I need to get the response. Does anyone know how, please?
回答1:
Try changing:
$action_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightAvailability?wsdl";
to
$action_URL = "http://59.162.33.102/ArzooWS/services/DOMFlightAvailability";
The wsdl link only gives guidelines to the soap message format. You need to send the request to your services endpoint.
来源:https://stackoverflow.com/questions/11502105/send-an-xml-request-to-a-another-web-server-using-soap-in-php