Я пытаюсь вызвать 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>