Se a URL usada para enviar uma solicitação for inválida, o Simple Message Queue (formerly MNS) retorna a seguinte mensagem de erro: Http request URL format invalid. Este tópico descreve como solucionar o problema em diferentes cenários.
Problema
O SMQ retorna a seguinte mensagem de erro:
[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid
Causa
As possíveis causas incluem:
Causa 1: Endpoint do SMQ inválido especificado ao usar um SDK.
Causa 2: Incompatibilidade entre a versão do protocolo e a URL da solicitação ao chamar uma operação de API relacionada a filas.
Solução
Escolha a solução correspondente à causa identificada:
Solução 1 para a Causa 1
Se você utilizar um SDK do SMQ, verifique a validade do endpoint do SMQ definido no código. O exemplo a seguir mostra como obter um endpoint válido do SMQ.
Geralmente, esse problema ocorre quando se define um endpoint de fila em vez do endpoint do SMQ no código. Exemplo:
Endpoint do SMQ: String endpoint = "http://44404.mns.cn-beijing.aliyuncs.com/".
Endpoint da fila: String endpoint = "http://44404.mns.cn-beijing.aliyuncs.com/queues/LTQueue/".
Faça login no console do Simple Message Queue (formerly MNS).
Selecione a região da fila do SMQ desejada e clique em Queues. Localize a fila na página Queues.
Clique em Get Endpoint.

Copie o endpoint exibido na mensagem e use-o para verificar se o problema persiste.
Solução 2 para a Causa 2
Ao chamar uma operação de API relacionada a filas, confirme se está usando a versão mais recente ou a anterior. Certifique-se de que a URL da solicitação esteja em conformidade com as especificações da versão da API definida. A tabela a seguir detalha as versões da API.
|
Versão da API |
CreateQueue |
SendMessage |
|
Versão mais recente (x-mns-version:2015-06-06) |
PUT /queues/[$Queue_Name] |
POST /queues/[$Queue_Name]/messages |
|
Versão anterior (x-mqs-version:2014-07-08) |
PUT /[$Queue_Name] |
POST /[$Queue_Name]/messages |
[$Queue_Name] representa o nome de uma fila.