1

I am using Online Travel Alliance schema to request some data with php soap client,

As per document, i am passing following parameters

['OTA_HotelAvailRQ'] = data()
['OTA_HotelAvailRQ']['xmlns'] = http://www.opentravel.org/OTA/2003/05
['OTA_HotelAvailRQ']['AvailRatesOnly'] = true
['OTA_HotelAvailRQ']['EchoToken'] = single
['OTA_HotelAvailRQ']['ExactMatchOnly'] = true
['OTA_HotelAvailRQ']['PrimaryLangID'] = ENbr> ['OTA_HotelAvailRQ']['RateDetailsInd'] = true
['OTA_HotelAvailRQ']['RateRangeOnly'] = true
['OTA_HotelAvailRQ']['RequestedCurrency'] = GBP
['OTA_HotelAvailRQ']['SummaryOnly'] = OnRequestInd
['OTA_HotelAvailRQ']['Version'] = 6.000
['OTA_HotelAvailRQ']['AvailRequestSegments'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['InfoSource'] = Distribution
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['AvailableOnlyIndicator'] = true
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['ExactMatch='] = true
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['HotelRef'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['HotelRef']['ChainCode'] = IW
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['HotelRef']['HotelCityCode'] = PAR
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['HotelRef']['HotelCode'] = IWPAR819
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['StayDateRange'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['StayDateRange']['Start'] = 23-11-2013
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['StayDateRange']['End'] = 24-11-2013
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates']['RoomStayCandidate'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates']['RoomStayCandidate']['Quantity'] = 1
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates']['RoomStayCandidate']['GuestCounts'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates']['RoomStayCandidate']['GuestCounts']['GuestCount'] = data()
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates']['RoomStayCandidate']['GuestCounts']['GuestCount']['AgeQualifyingCode'] = 10
['OTA_HotelAvailRQ']['AvailRequestSegments']['AvailRequestSegment']['HotelSearchCriteria']['Criterion']['RoomStayCandidates']['RoomStayCandidate']['GuestCounts']['GuestCount']['Count'] = 1

And when soap client generate xml using provided WSDL, it generate

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.opentravel.org/OTA/2003/05" xmlns:ns2="http://xml.amadeus.com/ws/2009/01/WBS_Session-2.0.xsd"><SOAP-ENV:Header><ns2:Session><ns2:SessionId>xxxxxxx</ns2:SessionId><ns2:SequenceNumber>3</ns2:SequenceNumber><ns2:SecurityToken>xxxxxxxxxxxxxxx</ns2:SecurityToken></ns2:Session></SOAP-ENV:Header><SOAP-ENV:Body><ns1:OTA_HotelAvailRQ SummaryOnly="true" AvailRatesOnly="true" RateRangeOnly="true" ExactMatchOnly="true" RequestedCurrency="GBP" RateDetailsInd="true" EchoToken="single" Version="6.000"><ns1:AvailRequestSegments><ns1:AvailRequestSegment InfoSource="Distribution"><ns1:HotelSearchCriteria AvailableOnlyIndicator="true"><ns1:Criterion/></ns1:HotelSearchCriteria></ns1:AvailRequestSegment></ns1:AvailRequestSegments></ns1:OTA_HotelAvailRQ></SOAP-ENV:Body></SOAP-ENV:Envelope>

it simply not including anything after AvailableOnlyIndicator and while criterion parameters as not processed. Now here, its a simple technique that soap client look at WSDL and XSDs and generate xml accordingly, but here something is wrong not sure where.

Tariq G
  • 346
  • 2
  • 9
  • my request header is `$this->_data = $this->_client->__soapCall( 'Hotel_EnhancedSingleAvail', $params, null, new SoapHeader( self::AMD_HEAD_NAMESPACE, 'Session', $header['Session']), $this->_headers);` – Tariq G Nov 16 '13 at 12:13

0 Answers0