OTA_AirBookLLSRQ 다음에 PassengerDetailsRQ를 사용하여 예약하려고합니다. 나는 OTA_AirBookLLSRQ에서 성공할 수 있지만, 아래 오류로 PassengerDetailsRQ에서 실패합니다.잘못된 버전 번호 오류로 Sabre PassengerDetailsRQ가 실패했습니다.
세이버 CERT 환경을 가리키며이 문제가 발생했습니다.
내 요청에 무엇이 잘못되었는지 알려주십시오.
System.ServiceModel.FaultException : System.ServiceModel.Channels.ServiceChannel.EndCall (문자열 액션에서 System.ServiceModel.Channels.ServiceChannel.HandleReply (ProxyOperationRuntime 운영, ProxyRpc & RPC)에서 잘못된 서비스 버전, 에서 Object [] 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, Func을2 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