StructureFareRulesRQ Сбой синтаксического анализа - Соглашение об именах веб-ссылок Visual Studio Ошибка? - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь вызвать API StructureFareRulesRQ из Sabre, но похоже, что этот API отличается от остальных API Sabre. После добавления файла wsdl в мой проект я ожидаю, что метод вызова веб-службы будет иметь имя, похожее на StructureFareRulesRQService, но его не существует. Вместо этого я получаю StructureFareRulesRQ в качестве фактического сервиса и StructureFareRulesRQ1 в качестве класса-оболочки для сообщения XML. Так как класс-оболочка имеет неправильное имя, при сериализации он создает поддельное XML-сообщение (см. Ниже).

Я знаю, что могу, вероятно, покопаться в файле reference.cs и выполнить поиск / замену, но я обеспокоен тем, что для этого потребуется, чтобы я делал то же самое при появлении новой версии в сети. Кто-нибудь еще сталкивался с этим, или я схожу с ума?

Пример полезной нагрузки XML, которая возвращает ответ Sabre «Error ErrorCode =» 009400 »ErrorMessage =« PARSE FAILURE - INVALID REQUEST »:

<?xml version="1.0" encoding="utf-16"?>
<StructureFareRulesRQ1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <PriceRequestInformation CurrencyCode="USD" BuyingDate="2019-05-21T13:46:00" xmlns="http://webservices.sabre.com/sabreXML/2003/07">
    <PassengerTypes>
      <PassengerType Code="ADT" />
    </PassengerTypes>
    <ReturnAllData />
  </PriceRequestInformation>
  <AirItinerary xmlns="http://webservices.sabre.com/sabreXML/2003/07">
    <OriginDestinationOptions>
      <OriginDestinationOption>
        <FlightSegment SegmentType="A" DepartureDate="2019-08-17T17:35:00" BookingDate="2019-05-21T13:46:00" RealReservationStatus="SS">
          <DepartureAirport LocationCode="ORD" />
          <ArrivalAirport LocationCode="HEL" />
          <MarketingAirline Code="AY" />
          <OperatingAirline Code="AY" />
        </FlightSegment>
        <PaxTypeInformation FareBasisCode="IFLE2US2" PassengerType="ADT" FareComponentNumber="0" />
      </OriginDestinationOption>
      <OriginDestinationOption>
        <FlightSegment SegmentType="A" DepartureDate="2019-08-18T13:25:00" BookingDate="2019-05-21T13:46:00" RealReservationStatus="SS">
          <DepartureAirport LocationCode="HEL" />
          <ArrivalAirport LocationCode="SVO" />
          <MarketingAirline Code="AY" />
          <OperatingAirline Code="SU" />
        </FlightSegment>
        <PaxTypeInformation FareBasisCode="IFLE2US2" PassengerType="ADT" FareComponentNumber="0" />
      </OriginDestinationOption>
      <OriginDestinationOption>
        <FlightSegment SegmentType="A" DepartureDate="2019-08-29T10:40:00" BookingDate="2019-05-21T13:46:00" RealReservationStatus="SS">
          <DepartureAirport LocationCode="SVO" />
          <ArrivalAirport LocationCode="HEL" />
          <MarketingAirline Code="AY" />
          <OperatingAirline Code="SU" />
        </FlightSegment>
        <PaxTypeInformation FareBasisCode="IFLE2US2" PassengerType="ADT" FareComponentNumber="0" />
      </OriginDestinationOption>
      <OriginDestinationOption>
        <FlightSegment SegmentType="A" DepartureDate="2019-08-29T13:55:00" BookingDate="2019-05-21T13:46:00" RealReservationStatus="SS">
          <DepartureAirport LocationCode="HEL" />
          <ArrivalAirport LocationCode="ORD" />
          <MarketingAirline Code="AY" />
          <OperatingAirline Code="AY" />
        </FlightSegment>
        <PaxTypeInformation FareBasisCode="IFLE2US2" PassengerType="ADT" FareComponentNumber="0" />
      </OriginDestinationOption>
    </OriginDestinationOptions>
  </AirItinerary>
</StructureFareRulesRQ1>

1 Ответ

0 голосов
/ 18 июня 2019

Здравствуйте, я думаю, что StructureFareRulesRQ1 должен быть StructureFareRulesRQ. https://beta.developer.sabre.com/docs/soap_apis/air/utility/get_structured_fare_rules

...