php - 如何解决 AddRemarkRQ 的错误 EbxmlMessage?
问题描述
当创建 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>
解决方案
推荐阅读
- python - 在 Windows 上的 Python 3 中,如何在文件上设置 NTFS 压缩?我用谷歌搜索的任何东西都没有让我接近答案
- c# - EF Core 代码优先迁移需要复杂类型的主键
- reactjs - 在 Material-ui Select 中添加自定义组件
- c# - 在多个用户的多个 UWP 应用之间共享数据
- c# - 如何通过 FromSqlRaw 在 EF Core 3.0 中调用存储过程
- artificial-intelligence - 如何使单个意图与用户在 DialogFlow 中发送的多个文本行匹配?
- php - 通过 web.config 将“.php”扩展名重定向到 Azure 中 WordPress 页面上的非扩展名 url
- javascript - 如何从 Firestore 数据库时间戳中获取秒数?
- python - 动态编程难题:找到最长的连续对 3(不同)块
- java - 创建表时“关系中缺少列”