-1

当创建 XML 并通过 PHP 发送时,我得到一个我无法解决的错误,我创建了这个 XML 基于我会知道的最初

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Header>
    <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
        <eb:From>
            <eb:PartyId>Client</eb:PartyId>
        </eb:From>
        <eb:To>
            <eb:PartyId>SWS</eb:PartyId>
        </eb:To>
        <eb:CPAId>3DBJ</eb:CPAId>
        <eb:ConversationId>MyConversationID</eb:ConversationId>
        <eb:Service>Service</eb:Service>
        <eb:Action>AddRemarkRQ</eb:Action>
        <eb:MessageData>
            <eb:MessageId>2019-08-12T10:08:37+00:00</eb:MessageId>
            <eb:Timestamp>2019-08-12T11:08:37+00:00</eb:Timestamp>
        </eb:MessageData>
    </eb:MessageHeader>
    <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility">
        <wsse:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-2985891478420806004!1543562!0!2!E2E-1</wsse:BinarySecurityToken>
    </wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
    <AddRemarkRQ xmlns='http://webservices.sabre.com/sabreXML/2011/10' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' ReturnHostCommand='false' Version='2.1.0'>
        <RemarkInfo>
            <Remark Type="General">
                <Text>RDB1A</Text>
            </Remark>
        </RemarkInfo>
    </AddRemarkRQ>
</SOAP-ENV:Body>

生成的错误是 WEB xml 消息中指定的操作 消息不存在,很奇怪,因为 saber 的官方页面离开了这个表单,我没有更改任何内容

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
    <eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
        <eb:From>
            <eb:PartyId eb:type="URI">SWS</eb:PartyId>
        </eb:From>
        <eb:To>
            <eb:PartyId eb:type="URI">Client</eb:PartyId>
        </eb:To>
        <eb:CPAId>3DBJ</eb:CPAId>
        <eb:ConversationId>MyConversationID</eb:ConversationId>
        <eb:Service>Service</eb:Service>
        <eb:Action>ErrorRS</eb:Action>
        <eb:MessageData>
            <eb:MessageId>2935425822019030611</eb:MessageId>
            <eb:Timestamp>2019-08-12T22:50:01</eb:Timestamp>
            <eb:RefToMessageId>2019-08-12T10:08:37+00:00</eb:RefToMessageId>
        </eb:MessageData>
    </eb:MessageHeader>
    <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
        <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTC!ICESMSLB\/CRT.LB!-2985891478420806004!1543562!0!2!E2E-1</wsse:BinarySecurityToken>
    </wsse:Security>
</soap-env:Header>
<soap-env:Body>
    <soap-env:Fault>
        <faultcode>soap-env:Client.InvalidAction</faultcode>
        <faultstring>Action specified in EbxmlMessage does not exist.</faultstring>
        <detail>
            <StackTrace>com.sabre.universalservices.base.exception.ApplicationException: errors.xml.USG_INVALID_ACTION</StackTrace>
        </detail>
    </soap-env:Fault>
</soap-env:Body>

4

1 回答 1

0

正确的操作代码是:

添加备注LLSRQ

见:https ://beta.developer.sabre.com/docs/soap_apis/management/itinerary/Add_Itinerary_Remark

于 2019-08-20T13:27:31.660 回答