Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Invia un messaggio a una coda o a un argomento del bus di servizio.
Richiesta
| Metodo | URI della richiesta | Versione HTTP |
|---|---|---|
| INSERISCI | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
Intestazioni della richiesta
Nella tabella seguente vengono descritte le intestazioni di richiesta obbligatorie e facoltative. Oltre alle proprietà elencate, l'intestazione può contenere proprietà personalizzate. Vedere l'esempio.
| Intestazione richiesta | Descrizione |
|---|---|
Authorization |
Specificare uno dei valori di token seguenti:
|
Content-Type |
Impostare il tipo di contenuto appropriato per il corpo dell'entità inviato (payload del messaggio). |
BrokerProperties |
Set con codifica JSON di proprietà BrokeredMessage. |
x-ms-retrypolicy |
(Facoltativo) Impostare su NoRetry per disabilitare i tentativi automatici sulle operazioni di invio quando si verificano errori temporanei. |
Corpo della richiesta
Il corpo della richiesta è il payload del messaggio.
Se il messaggio deve essere ricevuto tramite un protocollo diverso da HTTP/HTTPS, il corpo del messaggio deve essere serializzato; Ad esempio, con un XML System.Runtime.Serialization.DataContractSerializer. Per esempio:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
Il codice precedente produce il corpo del messaggio seguente:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
È possibile ricevere ed elaborare il messaggio con il codice seguente:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Risposta
La risposta include un codice di stato HTTP e un set di intestazioni di risposta.
Codici di risposta
| Codice | Descrizione |
|---|---|
| 201 | Messaggio inviato correttamente alla coda o all'argomento. |
| 400 | Richiesta non valida. |
| 401 | Errore di autorizzazione. |
| 403 | Quota superata o messaggio troppo grande. |
| 410 | La coda o l'argomento specificato non esiste. |
| 500 | Errore interno. |
Per informazioni sui codici di stato, vedere Status and Error Codes.
Annotazioni
Se si riceve una risposta 401 Non autorizzata, verificare che il token di firma di accesso condiviso nell'intestazione Authorization sia costruito, firmato, codificato in URL correttamente e corrisponda all'URI esatto dell'entità del bus di servizio.
Intestazioni di risposta
tipo di contenuto come passato.
Corpo della risposta
Nessuno.
Esempio
La richiesta HTTP seguente invia un messaggio a una coda o a un argomento. Il messaggio ha le proprietà seguenti:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Oltre alla BrokeredProperties, il messaggio contiene le proprietà personalizzate seguenti: Priority=High e 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.
Il bus di servizio restituisce la risposta seguente:
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