sabre - Sabre:GetReservation 相当于 TravelItineraryRead
问题描述
我正在实施 GetReservation,因为 TravelItineraryRead 很快就会被弃用。
创建 PNR 时,我得到 GetReservation 的成功响应,但是当我尝试查询之前创建的 PNR 时,Sabre WS 拒绝,并显示“ PNR 的观众人数受到限制,原因是 [PNR 的观众人数受到限制(不支持的安全检查),代码:700102,严重性:中等“
我在测试端点https://sws-tls.cert.sabre.com通过 SOAP 连接到 Sabre WS 。
我发送的 RQ 是:
<GetReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_19" Version="1.19.0">
<Locator>XWYZA</Locator>
<RequestType>Stateless</RequestType>
<ReturnOptions PriceQuoteServiceVersion="3.2.0">
<SubjectAreas>
<SubjectArea>FULL</SubjectArea>
</SubjectAreas>
<ViewName>Full</ViewName>
<ResponseFormat>STL</ResponseFormat>
</ReturnOptions>
</GetReservationRQ>
我已经尝试过使用其他 Views 和 SubjectAreas,但我总是得到这样的回应,我做错了什么?
解决方案
问题是我需要发送 RequestType: Stateful 而不是 Stateless
<GetReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_19" Version="1.19.0">
<Locator>KDQPNP</Locator>
<RequestType>Stateful</RequestType>
<ReturnOptions PriceQuoteServiceVersion="3.2.0">
<SubjectAreas>
<SubjectArea>FULL</SubjectArea>
<SubjectArea>PRICE_QUOTE</SubjectArea>
</SubjectAreas>
<ViewName>Full</ViewName>
<ResponseFormat>STL</ResponseFormat>
</ReturnOptions>
</GetReservationRQ>
推荐阅读
- git - git worktree 复制了什么?
- python - 运行 kivy 代码时出现黑屏
- javascript - 按属性值过滤对象数组
- c++ - 为什么模板实例化中不允许使用 lambda?
- javascript - 将对象中的数组转换为单个字符串
- arrays - Pytables 值错误(附加对象的等级和“...”EArray 不同)
- c# - 将 JSON 数据发布到 Microsoft Graph API Azure 函数
- wampserver - WampServer Hosts 文件不退出
- xml - 如何从一个简单的 XML 创建多个 XML 记录
- hyperledger-fabric - Hyperledger Fabric 和侧链(比如以太坊)中的“通道”之间的区别?