如何在Sabre SOAP API中从队列中删除特定的PNR
我使用GetReservationRQ检索命名的PNR。然后我想从队列中删除此PNR。我已尝试使用QueueAccessRQ 带有如何在Sabre SOAP API中从队列中删除特定的PNR,soap,sabre,Soap,Sabre,我使用GetReservationRQ检索命名的PNR。然后我想从队列中删除此PNR。我已尝试使用QueueAccessRQ 带有 返回“如果离开队列,则无法执行此操作” 带有 返回“未对PNR进行任何更改-更新或忽略” 带有 返回“导航、选择相互排斥” 即使我在QueueAccessRQ之前忽略了TransactionRQ或EndTransactionRQ,消息也是相同的,除了 IgnoreTransactionRQ后跟QueueAccessRQ和 返回“无法结束事务-工作区中不存在PNR”
返回“如果离开队列,则无法执行此操作”
带有
返回“未对PNR进行任何更改-更新或忽略”
带有
返回“导航、选择相互排斥”
即使我在QueueAccessRQ之前忽略了TransactionRQ或EndTransactionRQ,消息也是相同的,除了
IgnoreTransactionRQ后跟QueueAccessRQ和
返回“无法结束事务-工作区中不存在PNR”
如何从队列中删除特定的PNR?您应该能够使用QueueAccessLLSRQ和GetReservationRQ,但必须使用有状态请求(和会话令牌) 您可能希望执行以下操作:
****记录定位器在这里****
有状态
标题
简单的
STL
然后QueueAccessLLSRQ:
还请记住,从队列中删除时,GetReservationRQ和QueueLLSRQ调用之间对PNR所做的任何其他更改都将被终止处理。这意味着您没有在队列模式下工作-如果不在队列模式下,QR将不工作
QueueAccessRQ返回“如果离开队列,则无法执行此操作”我现在对流程的工作原理有点了解。我正在排队,我的移动失败了。我正在处理队列外的数据,但删除操作失败。发生此错误的原因是,我可以在队列中删除(QR)或忽略(I),但要移动(QueueMoveRQ)pnr,我必须离开队列。我试图读取队列并删除、忽略或移动每个PNR。解决方案是在队列上处理移动和离开队列,同时在队列中存储位置。搬家后,我必须回到队列并导航到以前的位置。亲爱的杰马森,我也有同样的问题。我发现你的工作流程不正确。通过techspecs sabre api,然后您需要在getreservation之前读取队列。@DavidLeep此工作流确实有效,我经常使用此工作流。在队列模式或PNR模式下,有两种方法可以使用队列命令。如果您处于队列模式,则QR操作无法获取队列号,它将从当前活动队列中删除PNR。在PNR模式下工作时,即不调用QueueAccessLLSRQ加载,则QR需要知道要删除的队列。
<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>
<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>