全部产品
Search
文档中心

消息服务MNS返回“[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid”的错误

更新时间: 2020-09-15

问题描述

消息服务MNS服务端返回下列错误。

[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid

问题原因

引发该报错的可能性如下:

  • 原因一
    使用SDK时,Endpoint地址错误。
  • 原因二
    使用队列API时,协议版本与请求URL不匹配。

解决方案

不同问题原因的解决方案不同,详情如下:

  • 原因一
    如果使用MNS的SDK,请检查程序代码中的Endpoint值是否正确。正确的Endpoint地址获取方法如下:
    注意:常见错误是在代码中将Endpoint错写成队列地址,导致报错。示例如下:
    • 正确:String endpoint = "http://4xxx4.mns.cn-beijing.aliyuncs.com/";
    • 错误:String endpoint = "http://4xxx4.mns.cn-beijing.aliyuncs.com/queues/LTQueue/";
    1. 登录消息服务MNS的控制台。
    2. 切换到MNS实例所在的地域,单击队列,确认存在您创建的MNS实例。
    3. 单击获取Endpoint
      obtainendpoint
    4. 使用新获取的Endpoint值进行测试。
  • 原因二
    如果使用队列API, 请检查使用的是新协议还是历史协议,确保请求中的URL符合协议对应的规范。新旧协议规范如下:
    协议版本 Header中参数 CreateQueue SendMessage 详情
    新协议 x-mns-version:2015-06-06 PUT /queues/[$Queue_Name] POST /queues/[$Queue_Name]/messages 新协议
    旧协议 x-mqs-version:2014-07-08 PUT /[$Queue_Name] POST /[$Queue_Name]/messages  
    说明:[$Queue_Name]指队列名称。

适用于

  • 消息服务MNS