我正在尝试与邮递员向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"
}
]
}
请帮助我解决此问题-谢谢。
答案 0 :(得分:0)
仅从消息“用户名值长度超过20个字符”开始,我希望您的身份验证有问题。
在错误响应https://api-crt.cert.havail.sabre.com/v2.4.1/shop/cars
中点击链接时,它再次表示您的身份验证有问题/身份验证数据丢失:
似乎您的身份验证/承载令牌未正确配置某些内容,或者您可能将其发送到错误的端点?
您可以尝试将请求正文的Content-Type
设置为application/json
,因为您提供的API documentation似乎是用这种方式定义的。
您可以在邮递员的请求的“标题”标签中执行此操作:
答案 1 :(得分:0)
我使用v2.4.1版本尝试了相同的错误消息
如果您对先前版本进行相同的请求,您将得到一个适当的答案。 使用v2.4.0 https://api-crt.cert.havail.sabre.com/v2.4.0/shop/cars
HTH 巴勃罗。