OTA_AirBookLLSRQに続いてPassengerDetailsRQを使用して予約をしようとしています。私はOTA_AirBookLLSRQで成功することができますが、以下のエラーでPassengerDetailsRQで失敗します。無効なバージョン番号のエラーでSabre PassengerDetailsRQが失敗する
私はSaber CERT環境を指摘しており、この問題が発生しています。
私のリクエストに間違いがあることを指摘するのを手伝ってください。
System.ServiceModel.FaultException: System.ServiceModel.Channels.ServiceChannel.EndCall(文字列アクションで System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作、ProxyRpc & RPC)で無効なサービス・バージョン、 オブジェクト[] outs、IAsyncResult result): System.ServiceModel.Channels.ServiceChannelProxy.TaskCreator。 <> c__DisplayClass7_0
1.<CreateGenericTask>b__0(IAsyncResult asyncResult) at System.Threading.Tasks.TaskFactory
1.FromAsyncCoreLogic(たIAsyncResult IAR、のFunc2 endFunction, Action
1 endAction、Task`1の約束、ブール requiresSynchronization)
PassengerDetailsRQの要求XMLSである
MessageHeader
<?xml version="1.0" encoding="utf-16"?>
<MessageHeader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" d1p1:version="2.0" xmlns:d1p1="http://www.ebxml.org/namespaces/messageHeader">
<d1p1:From>
<d1p1:PartyId>99999</d1p1:PartyId>
</d1p1:From>
<d1p1:To>
<d1p1:PartyId>123123</d1p1:PartyId>
</d1p1:To>
<d1p1:CPAId>TestCPA</d1p1:CPAId>
<d1p1:ConversationId>20171024T155602Z</d1p1:ConversationId>
<d1p1:Service>PassengerDetailsRQ</d1p1:Service>
<d1p1:Action>PassengerDetailsRQ</d1p1:Action>
<d1p1:MessageData>
<d1p1:MessageId>mid:[email protected]</d1p1:MessageId>
<d1p1:Timestamp>20171024T155602Z</d1p1:Timestamp>
</d1p1:MessageData>
</MessageHeader>
セキュリティオブジェクト
<?xml version="1.0" encoding="utf-16"?>
<Security xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<BinarySecurityToken xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3218433817369427567!1447734!0</BinarySecurityToken>
</Security>
PassengerDetailsRQ
<?xml version="1.0" encoding="utf-16"?>
<PassengerDetailsRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PostProcessing xmlns="http://services.sabre.com/sp/pd/v3_3">
<EndTransactionRQ>
<EndTransaction Ind="true" />
<Source ReceivedFrom="Oneworld RTW" />
</EndTransactionRQ>
</PostProcessing>
<SpecialReqDetails xmlns="http://services.sabre.com/sp/pd/v3_3">
<SpecialServiceRQ>
<SpecialServiceInfo>
<AdvancePassenger SegmentNumber="A">
<PersonName NameNumber="1.1">
<GivenName>Narasimham</GivenName>
<MiddleName>Venkata Lakshmi</MiddleName>
<Surname>Akella</Surname>
</PersonName>
</AdvancePassenger>
</SpecialServiceInfo>
</SpecialServiceRQ>
</SpecialReqDetails>
<TravelItineraryAddInfoRQ xmlns="http://services.sabre.com/sp/pd/v3_3">
<CustomerInfo>
<PersonName NameNumber="1.1" PassengerType="ADT">
<GivenName>Narasimham</GivenName>
<Surname>Akella</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfoRQ>
</PassengerDetailsRQ>
コードSOAPプロキシクラスを介して要求を配置するための
PassengerDetails.PassengerDetailsPortTypeClient paxDetCli = new PassengerDetails.PassengerDetailsPortTypeClient("PassengerDetailsPortType1" + envName);
Task<PassengerDetails.PassengerDetailsRQResponse> resp = paxDetCli.PassengerDetailsRQAsync(msgHeader, security, paxDetReq);
resp.Wait();
txtResult.Text += "Sucess Response:" + SerializeObject(typeof(PassengerDetails.PassengerDetailsRQResponse), resp.Result);
PassengerDetailsRQにバージョン3.3.0を追加すると、魔法がかかりました。お手伝いありがとう。どうしてPassengerDetailsRQだけがバージョンエラーを持っているのだろうと思います。他の呼び出しでは、リクエストボディレベルでバージョンを渡さなかったのです。 – Narasimham