我正在集成sabre服务,我希望使用CreatePassengerNameRecordRQ而不是EnhancedAirBookRQ和PassengerDetailsRQ,所以我提出了以下请求(包括AirBook、AirPrice、PostProcessing,(TravelItineraryAddInfo-添加客户信息))
<CreatePassengerNameRecordRQ version="2.0.0" xmlns="http://services.sabre.com/sp/reservation/v2" haltOnAirPriceError="false" targetCity="AAAA">
<AirBook>
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2018-02-15T08:00:00" ArrivalDateTime="2018-02-15T09:00:00" FlightNumber="651" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="LHE" />
<MarketingAirline Code="PK" FlightNumber="651" />
<OriginLocation LocationCode="ISB" />
</FlightSegment>
<FlightSegment DepartureDateTime="2018-02-20T06:00:00" ArrivalDateTime="2018-02-20T07:00:00" FlightNumber="650" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="ISB" />
<MarketingAirline Code="PK" FlightNumber="650" />
<OriginLocation LocationCode="LHE" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid@gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<PostProcessing RedisplayReservation="true" >
<EndTransactionRQ>
<EndTransaction Ind="true"/>
<Source ReceivedFrom=" TESTING"/>
</EndTransactionRQ>
</PostProcessing>
</CreatePassengerNameRecordRQ>但是当我发布这个请求时,返回的响应说无效的内容是从元素'TravelItineraryAddInfo'开始的。
<soap-env:Fault>
<faultcode>soap-env:Client</faultcode>
<faultstring>Message validation failed. Errors: [cvc-complex-type.2.4.a: Invalid content was found starting with element 'TravelItineraryAddInfo'. One of '{"http://services.sabre.com/sp/reservation/v2":AirTax, "http://services.sabre.com/sp/reservation/v2":MiscSegment, "http://services.sabre.com/sp/reservation/v2":SpecialReqDetails, "http://services.sabre.com/sp/reservation/v2":PostProcessing}' is expected.cvc-complex-type.2.4.a: Invalid content was found starting with element 'EndTransactionRQ'. One of '{"http://services.sabre.com/sp/reservation/v2":ARUNK, "http://services.sabre.com/sp/reservation/v2":QueuePlace, "http://services.sabre.com/sp/reservation/v2":EndTransaction}' is expected.]</faultstring>
<detail>
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="NotProcessed">
<Error type="Validation" timeStamp="2018-02-06T02:47:20.366-06:00">
<SystemSpecificResults>
<Message code="ERR.SP.CLIENT.VALIDATION_FAILED">Message validation failed. Errors: [cvc-complex-type.2.4.a: Invalid content was found starting with element 'TravelItineraryAddInfo'. One of '{"http://services.sabre.com/sp/reservation/v2":AirTax, "http://services.sabre.com/sp/reservation/v2":MiscSegment, "http://services.sabre.com/sp/reservation/v2":SpecialReqDetails, "http://services.sabre.com/sp/reservation/v2":PostProcessing}' is expected.cvc-complex-type.2.4.a: Invalid content was found starting with element 'EndTransactionRQ'. One of '{"http://services.sabre.com/sp/reservation/v2":ARUNK, "http://services.sabre.com/sp/reservation/v2":QueuePlace, "http://services.sabre.com/sp/reservation/v2":EndTransaction}' is expected.]</Message>
</SystemSpecificResults>
</Error>
</ApplicationResults>
</detail>
</soap-env:Fault>发布于 2018-03-21 19:26:56
CustomerInfo中添加成人、儿童和婴儿。TravelItineraryAddInfo应该是第一位的,在AirBook之前。
在PostProcessing内部,你应该有EndTransaction而不是EndTransactionRQ。
不需要使用<EndTransaction Ind="true"/>,因为默认情况下服务会创建PNR。使用更正的元素,您将开始出现其他错误,targetCity元素包含无效的PCC。
<CreatePassengerNameRecordRQ version="2.0.0" xmlns="http://services.sabre.com/sp/reservation/v2" haltOnAirPriceError="false" targetCity="AAAA">
<TravelItineraryAddInfo>
<AgencyInfo>
<Address>
<AddressLine>My Company</AddressLine>
<CityName>Dubai</CityName>
<CountryCode>PK</CountryCode>
<PostalCode>00000</PostalCode>
<StateCountyProv StateCode="DX"/>
<StreetNmbr>SZ Road</StreetNmbr>
</Address>
<Ticketing TicketType="7TAW"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber LocationCode="LHE" NameNumber="1.1" Phone="971-589-697242" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="darabjavaid@gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1" PassengerType="ADT" >
<GivenName>ADULT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="2.1" PassengerType="CNN" >
<GivenName>CHILD</GivenName>
<Surname>KHAN</Surname>
</PersonName>
<PersonName NameNumber="3.1" Infant="true" PassengerType="INF" >
<GivenName>INFANT</GivenName>
<Surname>KHAN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfo>
<AirBook>
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="NN" />
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="US" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2018-02-15T08:00:00" ArrivalDateTime="2018-02-15T09:00:00" FlightNumber="651" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="LHE" />
<MarketingAirline Code="PK" FlightNumber="651" />
<OriginLocation LocationCode="ISB" />
</FlightSegment>
<FlightSegment DepartureDateTime="2018-02-20T06:00:00" ArrivalDateTime="2018-02-20T07:00:00" FlightNumber="650" NumberInParty="2" ResBookDesigCode="Y" Status="NN">
<DestinationLocation LocationCode="ISB" />
<MarketingAirline Code="PK" FlightNumber="650" />
<OriginLocation LocationCode="LHE" />
</FlightSegment>
</OriginDestinationInformation>
</AirBook>
<AirPrice>
<PriceRequestInformation>
<OptionalQualifiers>
<PricingQualifiers>
<PassengerType Code="ADT" Quantity="1"/>
<PassengerType Code="CNN" Quantity="1"/>
<PassengerType Code="INF" Quantity="1"/>
</PricingQualifiers>
</OptionalQualifiers>
</PriceRequestInformation>
</AirPrice>
<PostProcessing RedisplayReservation="true" >
<EndTransaction>
<Source ReceivedFrom=" TESTING"/>
</EndTransaction>
</PostProcessing>
</CreatePassengerNameRecordRQ>https://stackoverflow.com/questions/48639040
复制相似问题