Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt een bericht verzonden naar een Service Bus-wachtrij of -onderwerp.
Verzoek
| Methode | Aanvraag-URI | HTTP-versie |
|---|---|---|
| VERZENDEN | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
Aanvraagheaders
In de volgende tabel worden de vereiste en optionele aanvraagheaders beschreven. Naast de vermelde eigenschappen kan de header aangepaste eigenschappen bevatten. Zie het voorbeeld.
| Aanvraagheader | Beschrijving |
|---|---|
Authorization |
Geef een van de volgende tokenwaarden op:
|
Content-Type |
Stel het juiste inhoudstype in voor de geplaatste entiteitstekst (nettolading van bericht). |
BrokerProperties |
Met JSON gecodeerde set BrokeredMessage eigenschappen. |
x-ms-retrypolicy |
(Optioneel) Ingesteld op NoRetry om automatische nieuwe pogingen bij verzendbewerkingen uit te schakelen wanneer er tijdelijke fouten optreden. |
Opmerking
Twee soorten aangepaste headers worden geaccepteerd, maar komen niet als aangepaste eigenschappen aan. Een header waarvan de naam overeenkomt met een van een set namen die de service reserveert voor protocolgebruik wordt verwijderd, en de match is hoofdlettergevoelig. Een header waarvan de waarde de letterlijke string null is, wordt ook weggelaten, dus als er geen aangepaste eigenschap binnenkomt, controleer dan eerst de waarde die je hebt verzonden en stuur iets anders dan null. Anders hernoem je de header en stuur je het opnieuw, aangezien een naambotsing met een gereserveerde header de oorzaak is.
Hoofdtekst van aanvraag
De hoofdtekst van de aanvraag is de nettolading van het bericht.
Als het bericht moet worden ontvangen via een ander protocol dan HTTP/HTTPS, moet de hoofdtekst van het bericht worden geserialiseerd; Bijvoorbeeld met een XML-System.Runtime.Serialization.DataContractSerializer. Bijvoorbeeld:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
De voorgaande code produceert de volgende berichttekst:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
U kunt het bericht ontvangen en verwerken met de volgende code:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Antwoord
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Antwoordcodes
| Code | Beschrijving |
|---|---|
| 201 | Het bericht is verzonden naar de wachtrij of het onderwerp. |
| 400 | Ongeldig verzoek. |
| 401 | Autorisatiefout. |
| 403 | Het quotum is overschreden of het bericht is te groot. |
| 410 | De opgegeven wachtrij of het opgegeven onderwerp bestaat niet. |
| 500 | Interne fout. |
Zie status- en foutcodesvoor meer informatie over statuscodes.
Opmerking
Als u een 401-niet-onbevoegd antwoord ontvangt, controleert u of het SAS-token in de autorisatieheader correct is gemaakt, ondertekend, URL-gecodeerd is en overeenkomt met de exacte URI van de Service Bus-entiteit.
Antwoordheaders
inhoudstype zoals doorgegeven.
Hoofdtekst van antwoord
Geen.
Voorbeeld
Met de volgende HTTP-aanvraag wordt een bericht verzonden naar een wachtrij of onderwerp. Het bericht heeft de volgende eigenschappen:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Naast de BrokeredPropertiesbevat het bericht de volgende aangepaste eigenschappen: Priority=High en 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 retourneert het volgende antwoord:
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