Partager via


Envoyer un message

Envoie un message à une file d’attente ou une rubrique Service Bus.

Demander

Méthode URI de requête HTTP Version
PUBLIER http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages HTTP/1.1

En-têtes de requête

Le tableau suivant décrit les en-têtes de requête obligatoires et facultatifs. Outre les propriétés répertoriées, l’en-tête peut contenir des propriétés personnalisées. Consultez l’exemple.

En-tête de requête Description
Authorization Spécifiez l’une des valeurs de jeton suivantes :
Content-Type Définissez le type de contenu approprié pour le corps de l’entité publiée (charge utile du message).
BrokerProperties Jeu encodé json de propriétés BrokeredMessage.
x-ms-retrypolicy (Facultatif) Définissez la valeur NoRetry pour désactiver les nouvelles tentatives automatiques lors des opérations d’envoi lorsque des erreurs temporaires se produisent.

Corps de la demande

Le corps de la requête est la charge utile du message.

Si le message doit être reçu via un protocole autre que HTTP/HTTPS, le corps du message doit être sérialisé ; par exemple, avec un XML System.Runtime.Serialization.DataContractSerializer. Par exemple:

MemoryStream ms = new MemoryStream();  
DataContractSerializer serializer = new DataContractSerializer(typeof(string));  
serializer.WriteObject(ms, "This is a message.");  
byte[] body = ms7.ToArray();  

Le code précédent génère le corps du message suivant :

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>  

Vous pouvez recevoir et traiter le message avec le code suivant :

BrokeredMessage message = queueClient.Receive();  
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));  

Réponse

La réponse inclut un code d’état HTTP et un ensemble d’en-têtes de réponse.

Codes de réponse

Code Description
201 Message envoyé avec succès à la file d’attente ou à la rubrique.
400 Demande incorrecte.
401 Échec de l’autorisation.
403 Quota dépassé ou message trop volumineux.
410 La file d’attente ou la rubrique spécifiée n’existe pas.
500 Erreur interne.

Pour plus d’informations sur les codes d’état, consultez Status and Error Codes.

En-têtes de réponse

de type contenu tel qu’il est passé.

Corps de la réponse

Aucun.

Exemple

La requête HTTP suivante envoie un message à une file d’attente ou une rubrique. Le message a les propriétés suivantes :

Label: "M1"  
TimeToLive: 10 seconds  
State: Active  
Message body: "This is a message."  

Outre le BrokeredProperties, le message contient les propriétés personnalisées suivantes : Priority=High et Customer="12345,ABC".

POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages?timeout=60 HTTP/1.1  
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey  
BrokerProperties: {"Label":"M1","State":"Active","TimeToLive":10}  
Priority: High  
Customer: 12345,ABC  
Content-Type: application/atom+xml;type=entry;charset=utf-8  
Host: your-namespace.servicebus.windows.net  
Content-Length: 18  
Expect: 100-continue  
  
This is a message.  

Service Bus retourne la réponse suivante :

HTTP/1.1 201 Created  
Transfer-Encoding: chunked  
Content-Type: application/xml; charset=utf-8  
Server: Microsoft-HTTPAPI/2.0  
Date: Tue, 01 Jul 2014 23:00:22 GMT  
  
0  

Voir aussi