错误:在邮递员中致电Saber CarAvailability

时间:2019-03-27 13:51:12

标签: javascript postman sabre

我正在尝试与邮递员向Sabre CarAvailability API发出POST请求。当我发出请求时,我得到以下错误:用户名值长度超过20个字符

  • 我获得了承载令牌,并将其添加到请求的授权部分
  • 我在请求的正文部分添加了carAvailabilityRequest对象作为原始数据。
  • 我尝试更改此对象的值,但到目前为止没有运气。我知道我做错了事,但我不知道该怎么办。

这是我传递的carAvailabilityRequest对象:

{
  "OTA_VehAvailRateRQ": 
  {
    "TimeStamp": "string",
    "Version": "string",
    "ReturnHostCommand": true,
    "VehAvailRQCore": 
    {
      "RPH": 0,
      "QueryType": "Quote", 
      "VehRentalCore": 
      {
        "PickUpDateTime": "03-31T09:00",
        "ReturnDateTime": "04-05T11:00",
        "PickUpLocation": 
        {
          "LocationCode": "DFW",
          "CityLocation": "string"
        },
        "ReturnLocation": 
        {
          "LocationCode": "DFW"
        }
      }
    }
  }
}

请求未通过,并且出现以下错误消息:

{
    "Fault": {
        "faultcode": "{http://schemas.xmlsoap.org/soap/envelope/}Client.EbXmlFieldTooLong",
        "faultstring": "Username value length exceeds 20 characters",
        "detail": {
            "StackTrace": [
                "com.sabre.universalservices.base.exception.InvalidEbXMLException: errors.xml.USG_EBXML_FIELD_TOO_LONG"
            ]
        }
    },
    "Links": [
        {
            "rel": "self",
            "href": "https://api-crt.cert.havail.sabre.com/v2.4.1/shop/cars"
        },
        {
            "rel": "linkTemplate",
            "href": "https://api-crt.cert.havail.sabre.com/<version>/shop/cars"
        }
    ]
}

请帮助我解决此问题-谢谢。

2 个答案:

答案 0 :(得分:0)

仅从消息“用户名值长度超过20个字符”开始,我希望您的身份验证有问题。

在错误响应https://api-crt.cert.havail.sabre.com/v2.4.1/shop/cars中点击链接时,它再次表示您的身份验证有问题/身份验证数据丢失:

Error response

似乎您的身份验证/承载令牌未正确配置某些内容,或者您​​可能将其发送到错误的端点?

您可以尝试将请求正文的Content-Type设置为application/json,因为您提供的API documentation似乎是用这种方式定义的。

您可以在邮递员的请求的“标题”标签中执行此操作:

Postman Headers tab

答案 1 :(得分:0)

我使用v2.4.1版本尝试了相同的错误消息

如果您对先前版本进行相同的请求,您将得到一个适当的答案。 使用v2.4.0 https://api-crt.cert.havail.sabre.com/v2.4.0/shop/cars

HTH 巴勃罗。