1
我有一个小问题。PHP SOAP - > Xml请求
我必须发送XML请求,我写了代码,但它不起作用。从WSDL
我的代码
$url = 'http://xml.qa.goglobal.travel/XMLWebService.asmx?WSDL';
$client = new SoapClient($url, array('soap_version' => SOAP_1_2));
$xml = '
POST /XMLWebService.asmx HTTP/1.1
Host: xml.qa.goglobal.travel
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 300
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<Root>
<Header>
<Agency>1520475</Agency>
<User>PGHPOLXML</User>
<Password>MY_PASSWORD</Password>
<Operation>HOTEL_SEARCH_REQUEST</Operation>
<OperationType>Request</OperationType>
</Header>
<Main>
<SortOrder>0</SortOrder>
<FilterPriceMin>0</FilterPriceMin>
<FilterPriceMax>10000</FilterPriceMax>
<MaximumWaitTime>30</MaximumWaitTime>
<MaxResponses>1000</MaxResponses>
<FilterRoomBasises>
<FilterRoomBasis></FilterRoomBasis>
</FilterRoomBasises>
<HotelName></HotelName>
<CityCode>75</CityCode>
<ArrivalDate>2014-05-06</ArrivalDate>
<Nights>3</Nights>
<Rooms>
<Room Type="TWN" RoomCount="1" CotCount="0"></Room>
</Rooms>
</Main>
</Root>
</soap12:Body>
</soap12:Envelope>';
$a = $client->__call(
'MakeRequest',
array(
array(
'requestType' => 'xml',
'xmlRequest' => $xml
)
)
);
响应是
object(stdClass)#2 (1) { ["MakeRequestResult"]=> string(0) "" }
从响应是
array(4) { [0]=> string(86) "MakeRequestCompressedResponse MakeRequestCompressed(MakeRequestCompressed $parameters)" [1]=> string(56) "MakeRequestResponse MakeRequest(MakeRequest $parameters)" [2]=> string(86) "MakeRequestCompressedResponse MakeRequestCompressed(MakeRequestCompressed $parameters)" [3]=> string(56) "MakeRequestResponse MakeRequest(MakeRequest $parameters)" }
端点这个服务是http://xml.qa.goglobal.travel/XMLWebService.asmx
如何解决?
嘿,我有同样的问题。 GoGlobal服务器及其所有的SOAP令我发疯......你是否设法解决这个问题? – tomazahlin