Sabre CreatePassengerNameRecordRQ

Sabre CreatePassengerNameRecordRQ

我正在集成 saber 网络服务,我想使用 CreatePassengerNameRecordRQ 而不是 EnhancedAirBookRQPassengerDetailsRQ 所以我提出了以下要求(包括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>

但是当我 post 这个请求时,返回的响应说 Invalid content was found starting with element '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>
  1. 请告诉我缺少什么参数,或者我应该如何在 CreatePassengerNameRecordRQ 中添加客户信息。
  2. 请验证此请求是否有效,或者我是否需要添加更多信息以使其正确。 谢谢。
  3. 请告诉我在哪里可以找到 CreatePassengerNameRecordRQ
  4. 的完整文档
  1. 我不确定你所说的 "to add customer information" 是什么意思,你在节点 CustomerInfo 中添加了成人、儿童和婴儿。
  2. 您粘贴的请求无效,因为元素的顺序有点不同并且您有一些额外的东西。
    一种。 TravelItineraryAddInfo 应该是第一个,在 AirBook.
    之前 b.在 PostProcessing 中,你应该有 EndTransaction 而不是 EndTransactionRQ.
    C。 <EndTransaction Ind="true"/> 不是预期的,因为该服务默认创建 PNR。
  3. Link: https://developer.sabre.com/docs/read/soap_apis/air/book/create_passenger_name_record/resources

XML 使用更正的元素,您将开始出现其他错误,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>