Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
Sends a message to a Service Bus queue or topic.
Request
| Method | Request URI | HTTP Version |
|---|---|---|
| POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
Request Headers
The following table describes required and optional request headers. In addition to the listed properties, the header can contain custom properties. See the example.
| Request Header | Description |
|---|---|
Authorization |
Specify one of the following token values:
|
Content-Type |
Set the appropriate content type for the posted entity body (message payload). |
BrokerProperties |
JSON-encoded set of BrokeredMessage properties. |
x-ms-retrypolicy |
(Optional) Set to NoRetry to disable automatic retry on send operations when transient errors occur. |
Request Body
The request body is the message payload.
If the message is to be received via a protocol other than HTTP/HTTPS, the message body must be serialized; for example, with an XML System.Runtime.Serialization.DataContractSerializer. For example:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
The preceding code produces the following message body:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
You can receive and process the message with the following code:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Response
The response includes an HTTP status code and a set of response headers.
Response Codes
| Code | Description |
|---|---|
| 201 | Message successfully sent to queue or topic. |
| 400 | Bad request. |
| 401 | Authorization failure. |
| 403 | Quota exceeded or message too large. |
| 410 | Specified queue or topic doesn't exist. |
| 500 | Internal error. |
For information about status codes, see Status and Error Codes.
Note
If you receive a 401 Unauthorized response, check that the SAS token in the Authorization header is correctly constructed, signed, URL-encoded, and matches the exact URI of the Service Bus entity.
Response Headers
Content-type as passed in.
Response Body
None.
Example
The following HTTP request sends a message to a queue or topic. The message has the following properties:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
In addition to the BrokeredProperties, the message carries the following custom properties: Priority=High and 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 returns the following response:
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