我正在尝试创建一个空的PNR(仅包含必填字段)。 我正在使用java的Soap服务。 在CreateSessionRQ之后,我正在调用TravelItineraryAddInfoRQ以添加至少一个Person和票证类型(7TAW),并且此调用成功结束。
然后我调用OTA_AirBookLLSRQ来创建一个OPEN段。
<soapenv:Body>
<ns:OTA_AirBookRQ xmlns:ns="http://webservices.sabre.com/sabreXML/2011/10" Version="2.1.0" TimeStamp="2016-03-24T16:04:05.597+01:00">
<ns:OriginDestinationInformation>
<ns:FlightSegment Status="OPEN" NumberInParty="1" ResBookDesigCode="Y">
<ns:DestinationLocation LocationCode="MXP" />
<ns:MarketingAirline Code="AZ" />
<ns:OriginLocation LocationCode="FCO" />
</ns:FlightSegment>
</ns:OriginDestinationInformation>
</ns:OTA_AirBookRQ>
回复是:
<stl:ApplicationResults xmlns:stl="http://services.sabre.com/STL/v01" status="NotProcessed">
<stl:Error timeStamp="2016-03-24T10:06:08-05:00" type="Validation">
<stl:SystemSpecificResults>
<stl:Message>cvc-complex-type.4: Attribute 'FlightNumber' must appear on element 'ns:FlightSegment'.</stl:Message>
<stl:ShortText>ERR.SWS.CLIENT.VALIDATION_FAILED</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
在OTA_AirBookRQ服务的文档中,我读到了flightNumber“如果用户需要开放空间票,也可以传递OPEN。”
我已尝试省略标记或将其插入为空,但始终需要该字段。
我做错了什么? 创建PNR的顺序是否正确?(在OTA_AirBookRQ之后我想调用EndTransactionRQ然后调用CloseSessionRQ)
提前致谢
答案 0 :(得分:0)
我在Saber样本中找到了:
<!-- Book an OPEN itinerary. -->
<OTA_AirBookRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.1.0">
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2012-12-21T12:00" ArrivalDateTime="2012-12-21T17:00" FlightNumber="OPEN" NumberInParty="2" ResBookDesigCode="Y" Status="DS">
<DestinationLocation LocationCode="LAS"/>
<MarketingAirline Code="AA" FlightNumber="OPEN"/>
<OperatingAirline Code="AA"/>
<OriginLocation LocationCode="DFW"/>
</FlightSegment>
</OriginDestinationInformation>
</OTA_AirBookRQ>
“OPEN”必须在fligh number字段中设置,“DS”在状态字段中设置