Si l’URL utilisée pour envoyer une requête est invalide, Simple Message Queue (anciennement MNS) renvoie le message d’erreur suivant : Http request URL format invalid. Cette rubrique explique comment résoudre ce problème dans différents scénarios.
Problème
SMQ renvoie le message d’erreur suivant :
[Error Code]:InvalidRequestURL, [Message]:Http request URL format invalid
Cause
Les causes possibles sont les suivantes :
Cause 1 : Lorsque vous utilisez un SDK, l’endpoint SMQ spécifié est invalide.
Cause 2 : Lorsque vous appelez une opération d’API liée aux files d’attente, la version de protocole spécifiée ne correspond pas à l’URL de requête indiquée.
Solution
Voici les solutions en fonction de la cause identifiée :
Solution 1 pour la cause 1
Si vous utilisez un SDK SMQ, vérifiez que l’endpoint SMQ spécifié dans le code est valide. L’exemple suivant indique comment obtenir un endpoint SMQ valide.
Ce problème survient généralement lorsque vous spécifiez un endpoint de file d’attente au lieu d’un endpoint SMQ dans le code. Exemple :
Endpoint SMQ : String endpoint = "http://44404.mns.cn-beijing.aliyuncs.com/".
Endpoint de file d’attente : String endpoint = "http://44404.mns.cn-beijing.aliyuncs.com/queues/LTQueue/".
Connectez-vous à la console Simple Message Queue (anciennement MNS).
Sélectionnez la région où se trouve la file d’attente SMQ que vous souhaitez utiliser, puis cliquez sur Queues. Sur la page Queues, repérez la file d’attente concernée.
Cliquez sur Get Endpoint.

Dans le message qui s’affiche, copiez l’endpoint requis et utilisez-le pour vérifier si le problème persiste.
Solution 2 pour la cause 2
Si vous appelez une opération d’API liée aux files d’attente, vérifiez si vous utilisez la dernière version de l’API ou une version précédente. Assurez-vous que l’URL de requête est conforme aux spécifications de la version d’API indiquée. Le tableau suivant présente la dernière version et la version précédente de l’API.
|
Version de l’API |
CreateQueue |
SendMessage |
|
Dernière version (x-mns-version:2015-06-06) |
PUT /queues/[$Queue_Name] |
POST /queues/[$Queue_Name]/messages |
|
Version précédente (x-mqs-version:2014-07-08) |
PUT /[$Queue_Name] |
POST /[$Queue_Name]/messages |
[$Queue_Name] désigne le nom d’une file d’attente.