Postman调用Sabre Fare Rule SOAP API遇USG_INVALID_ACTION错误求排查
Sabre Fare Rule SOAP API调用报错:errors.xml.USG_INVALID_ACTION
在Postman调用Sabre Fare Rule SOAP API时,收到errors.xml.USG_INVALID_ACTION错误,错误提示为Action specified in EbxmlMessage does not exist.。
请求体
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Base64_token </wsse:BinarySecurityToken> </wsse:Security> </soap:Header> <soap:Body> <OTA_AirRulesRQ ReturnHostCommand="true" Version="2.3.0" 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"> <OriginDestinationInformation> <FlightSegment DepartureDateTime="12-24"> <DestinationLocation LocationCode="LHE"/> <MarketingCarrier Code="AA"/> <OriginLocation LocationCode="DXB"/> </FlightSegment> </OriginDestinationInformation> <RuleReqInfo> <FareBasis Code="Y"/> </RuleReqInfo> </OTA_AirRulesRQ> </soap:Body> </soap:Envelope>
错误响应
<?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"> <wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">T1RLAQLmuWgGgRgzvWBSZcj2/EuqJCuoqC1hqaF0JFHKYQ+GlRA/190rlR3HglH9lxLudMWoAADQAnrngzMgfJAC3ippxepcykrjbucnnl8Azsk3fgQ1/xsNddLLvmJygXnPSyaS/z4uL/BCoClQDlS8Rq9vbhOIevpCG9jpBT4557sXBDONTKaAedt5uv+2RRA/7gwRcDkH3AOyoxifi6raxDPHntzq9TUgO0sEuah2+WM6f2isg095CUPPdJbYXMwXFyM/xaWgRAIuwrxP24Cnr9bJyEVeS0YzNrK0qSu+zcdW5oAb6KT1IeQSOl1rHG1FafST9TqcLem+LkF6Ah3o3BWKBJXSZw** </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> </soap:Envelope>
问题排查及修复方案
添加/修正SOAPAction请求头
Sabre SOAP API要求必须携带正确的SOAPAction请求头,针对OTA_AirRulesRQ接口,正确值为"http://webservices.sabre.com/sabreXML/2011/10/OTA_AirRulesRQ"。在Postman的请求头列表中新增该字段,确保值与请求体中的命名空间完全匹配。修正日期格式
请求中FlightSegment的DepartureDateTime仅填写了12-24,缺少年份,不符合Sabre的格式要求,需改为完整日期格式,例如2024-12-24。清理安全令牌空白字符
当前请求中BinarySecurityToken的值后存在换行和空格,可能导致令牌验证异常,请删除多余空白,确保令牌值紧凑无换行。验证命名空间与版本兼容性
确认OTA_AirRulesRQ的命名空间http://webservices.sabre.com/sabreXML/2011/10和版本2.3.0为Sabre当前支持的有效组合,若版本过时需更换为最新兼容版本。
内容的提问来源于stack exchange,提问作者M. Mohsin Khan
相关产品推荐
相关产品推荐

