Partager via


Envoyer un message

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

Requête

Méthode URI de demande Version HTTP
POST 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 demande obligatoires ou 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 de message).
BrokerProperties Ensemble de propriétés BrokeredMessage en code JSON.
x-ms-retrypolicy (Facultatif) Définissez sur NoRetry pour désactiver la nouvelle tentative automatique lors des opérations d’envoi lorsque des erreurs temporaires se produisent.

Corps de la requête

Le corps de la demande 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 produit le corps de 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)));  

response

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 correctement envoyé à une file d'attente ou une 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 status, consultez Codes d’état et d’erreur.

En-têtes de réponse

Content-type tel qu'il est transmis.

Corps de la réponse

Aucun.

Exemple

La requête HTTP suivante envoie un message vers 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."  

En plus de , BrokeredPropertiesle 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

Exemple de client HTTP Service Bus