队列PNR返回“ AAA中没有PNR”(QueuePlaceLLSRQ)

问题描述 投票:1回答:2

我正在尝试使用"Place Queue Message (QueuePlaceLLSRQ)" API将PNR排队。因此,我按照以下步骤将PNR排队。

步骤1-创建会话(SessionCreateRQ)

第2步-检索行程(GetReservationRQ)

[步骤3-队列PNR(QueuePlaceLLSRQ)

而且我被困在第3步,它总是返回错误消息-NO PNR IN AAA

这实际上是什么意思,如何避免此错误?


下面是请求和响应有效载荷数据

请求数据


<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header>
        <MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
            <From>
                <PartyId>sample.url.of.sabre.client.com</PartyId>
            </From>
            <To>
                <PartyId>webservices.sabre.com</PartyId>
            </To>
            <CPAId></CPAId>
            <ConversationId>convid</ConversationId>
            <Service>QueuePlaceLLSRQ</Service>
            <Action>QueuePlaceLLSRQ</Action>
            <MessageData>
                <MessageId>convid112</MessageId>
                <Timestamp>2020-04-20T09:25:27Z</Timestamp>
                <TimeToLive>2020-04-20T09:25:27Z</TimeToLive>
            </MessageData>
        </MessageHeader>
        <Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
            <BinarySecurityToken EncodingType="Base64Binary" valueType="String" >Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!1587564276872!533!5</BinarySecurityToken>
        </Security>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <QueuePlaceRQ Version="2.0.4" 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">
            <QueueInfo>
                <QueueIdentifier Number="22" PrefatoryInstructionCode="11" PseudoCityCode="****"/>
            </QueueInfo>
        </QueuePlaceRQ>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>



响应数据


<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header>
        <eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
            <eb:From>
                <eb:PartyId eb:type="URI">webservices.sabre.com</eb:PartyId>
            </eb:From>
            <eb:To>
                <eb:PartyId eb:type="URI">sample.url.of.sabre.client.com</eb:PartyId>
            </eb:To>
            <eb:ConversationId>convid</eb:ConversationId>
            <eb:Service>QueuePlaceLLSRQ</eb:Service>
            <eb:Action>QueuePlaceLLSRS</eb:Action>
            <eb:MessageData>
                <eb:MessageId>1815326504754440150</eb:MessageId>
                <eb:Timestamp>2020-04-22T14:01:16</eb:Timestamp>
                <eb:RefToMessageId>convid</eb:RefToMessageId>
            </eb:MessageData>
        </eb:MessageHeader>
        <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
            <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!1587564074215!6005!9</wsse:BinarySecurityToken>
        </wsse:Security>
    </soap-env:Header>
    <soap-env:Body>
        <QueuePlaceRS 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" xmlns:stl="http://services.sabre.com/STL/v01" Version="2.0.4">
            <stl:ApplicationResults status="NotProcessed">
                <stl:Error type="BusinessLogic" timeStamp="2020-04-22T09:01:16-05:00">
                    <stl:SystemSpecificResults>
                        <stl:Message>NO PNR IN AAA</stl:Message>
                        <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
                    </stl:SystemSpecificResults>
                </stl:Error>
            </stl:ApplicationResults>
        </QueuePlaceRS>
    </soap-env:Body>
</soap-env:Envelope>

api soap sabre
2个回答
1
投票

我想您要么用GetReservation而不是Stateless来调用Stateful,所以当尝试排队或使用其他会话时,预留位置不在工作区上。

如果这是您对保留所做的唯一事情,则可以添加UniqueId并将其放置在该队列中,甚至无需检索它。<UniqueID ID="ABC123"/>


0
投票

让我回答自己的问题,因为我的工作流程不正确,我希望它也能对某人有所帮助。

在Sabre的产品目录中,没有Queue Place API用于REST,仅用于SOAP

问题是我在诸如Bargain Finder MaxCreate Passenger Name Record之类的第一步中使用了[[REST。之后,我尝试使用SOAP中的Queue Place API,并且系统可能没有注意到PNR。

实际上,

Queue Place API

在REST中可用,但必须与Queue Place API一起发送,并且必须在Create Passenger Name Record API下附加对象Create Passenger Name Record API,如下所示。 QueueInfo
© www.soinside.com 2019 - 2024. All rights reserved.