Sabre:GetReservation 相当于 TravelItineraryRead

Sabre: GetReservation equivalent to TravelItineraryRead

我正在实施 GetReservation,因为 TravelItineraryRead 很快就会被弃用。

创建 PNR 时,我获得了 GetReservation 的成功响应,但是当我尝试查询之前创建的 PNR 时,Sabre WS 拒绝并显示“PNR 的观看次数受到限制,原因是 [观看次数是限制用于 PNR(不支持的安全检查),代码:700102,严重性:MODERATE"

我在测试端点 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>