You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Sabre SOAP API从队列中移除指定PNR?

解决QueueAccessRQ移除PNR队列时的错误问题

嘿,我帮你梳理下你遇到的QueueAccessRQ操作问题,这几个错误其实都是对指令的使用场景理解偏差导致的,咱们逐个拆解:

1. 为啥用<Navigation Action="QR"/>会返回"CANNOT DO THIS IF OFF QUEUE"?

QR是从队列里取出PNR的指令,但你已经通过GetReservationRQ把这个PNR检索出来了——此时它已经处于「离队」状态,自然没法再执行“从队列取出”的操作,系统就会抛出这个错误。

2. 用<Navigation Action="E"/>返回"NO CHANGES MADE TO PNR - UPDATE OR IGNORE"是咋回事?

E指令是把PNR放回原队列,但你的需求是移除队列,而且当前PNR本来就不在队列里,执行这个操作等于没做任何变更,系统当然会提示你“没修改PNR”。

3. 同时用Navigation和Selection为啥会报"Navigation, Selection are mutually exclusive"?

QueueAccessRQ的规则很明确:<Navigation>是用来操作当前会话中已经检索到的PNR,而<Selection>是用来指定队列里待操作的PNR,这俩参数组是互斥的,不能同时用,系统直接拒绝这种冲突调用。


正确移除PNR队列状态的姿势

既然你已经用GetReservationRQ拿到了目标PNR,想要移除它的队列关联,直接用<QueueRemove>节点就行,不用绕Navigation或者Selection。给你个参考调用格式:

<QueueAccessRQ Version="2.0.0">
  <QueueRemove/>
  <!-- 可选:如果需要确认操作结果,加上ReturnOptions返回更新后的PNR -->
  <ReturnOptions RetrievePNR="true"/>
</QueueAccessRQ>

几个注意点:

  • 确保当前会话已经通过GetReservationRQ成功加载了目标PNR,系统会自动关联这个上下文
  • 如果PNR本来就不在任何队列里,执行这个操作会返回类似"PNR NOT ON QUEUE"的提示,属于正常情况

内容的提问来源于stack exchange,提问作者Don

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:43:15