如何从Sabre SOAP API中的队列中删除特定的PNR

时间:2018-04-30 11:56:45

标签: soap sabre

我使用GetReservationRQ来检索命名的PNR。然后我想从队列中删除此PNR。我曾尝试使用QueueAccessRQ

<Navigation Action=""QR""/>的QueueAccessRQ 返回“不能这样做,如果关闭队列”

<Navigation Action=""E""/>的QueueAccessRQ 返回“没有改变PNR - 更新或忽视”

<Navigation Action=""QR""/><Selection Function=""PR"" Criteria=""ABC123""/>的QueueAccessRQ 返回“导航,选择是互斥的”

即使我在QueueAccessRQ之前执行IgnoreTransactionRQ或EndTransactionRQ,消息也是相同的,除了 IgnoreTransactionRQ后面跟着<Navigation Action=""E""/>的QueueAccessRQ 返回“无法结束交易 - 工作区内无PNR”

如何从队列中删除特定的PNR?

2 个答案:

答案 0 :(得分:0)

您应该能够使用QueueAccessLLSRQ和GetReservationRQ,但您必须使用有状态请求(和会话令牌)。

你想做的事情如下:

  1. SessionCreateRQ
  2. GetReservationRQ
  3. QueueAccessLSSRQ
  4. SessionCloseRQ
  5. 您的GetReservation可能类似于:

    <GetReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_18" Version="1.18.0">
        <Locator>****RECORD LOCATOR HERE****</Locator>
        <RequestType>Stateful</RequestType>
        <ReturnOptions>
            <SubjectAreas>
                <SubjectArea>HEADER</SubjectArea>
            </SubjectAreas>
            <ViewName>Simple</ViewName>
            <ResponseFormat>STL</ResponseFormat>
        </ReturnOptions>
    </GetReservationRQ>
    

    然后QueueAccessLLSRQ:

    <QueueAccessRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" ReturnHostCommand="true" Version="2.0.6">
      <Navigation Action="QR" />
      <QueueIdentifier PseudoCityCode="****PCC HERE****" Number="****QUEUE NUMBER HERE****" />
    </QueueAccessRQ>
    

    另请注意,从队列中删除时,GetReservationRQ和QueueLLSRQ调用之间对PNR所做的任何其他更改都将进行结束处理。

答案 1 :(得分:0)

这意味着您没有处理队列模式 - 如果不在队列模式下,QR将无法正常工作

QueueAccessRQ返回&#34;如果关闭队列,则不能这样做#34;