MNS返回Http request URL format invalid,如何解决?
MNS服务器端返回[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid时,用户需要检查发出请求的URL是否正确。 如果使用SDK, 请检查代码中endpoint值。 在MNS控制台执行如下操作,即可获取Endpoint。
说明 不少用户在代码里将Endpoint写成了队列地址,结果导致URL format invalid错误,例如: (正确)String endpoint = "http://44404.mns.cn-beijing.aliyuncs.com/"; (错误)String endpoint = "http://44404.mns.cn-beijing.aliyuncs.com/queues/LTQueue/"; 如果使用队列API, 请检查使用的是新协议还是历史协议,并根据协议检查url是否符合规范 header使用x-mns-version:2015-06-06,服务端将认为使用新协议。 header使用x-mqs-version:2014-07-08,服务端将认为使用历史协议。 新旧协议的URL规范不同,如下表所示。
协议版本 CreateQueue SendMessage 新协议(x-mns-version:2015-06-06) PUT /queues/$queueName POST /queues/$queueName/messages 历史协议(x-mqs-version:2014-07-08) PUT /$queueName POST /$queueName/messages
说明 您需严格按照协议规范来发送请求。 如果使用订阅API, 请检查host部分是否为支持主题的地域。 目前仅阿联酋(迪拜)不支持主题。 如果问题还未能解决,请联系售后技术支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。