HTTP DELETE : 命令 IBM MQ bridge for HTTP
HTTP DELETE 操作从 IBM® MQ 队列中获取消息,或从主题中检索出版物。 将从队列中除去该消息。 如果保留发布,那么不会将其除去。 响应消息将发送回客户机,包括有关该消息的信息。
语法
注:
- 如果使用问号 (?) ,那么必须将其替换为
%3f。 例如, orange?topic 应指定为 orange%3ftopic。 - @qMgrName 仅 HTTP qMgrName 有效 POST
请求参数
- 路径
- 请参阅 URI 格式 (URI Format)。
- HTTP 版本
- HTTP 版本;例如,
HTTP/1.1 - 总标题
- 请参阅 HTTP/1.1 - 4.5 常规头字段。
- 请求头
- 请参阅 HTTP/1.1 - 5.3 请求头字段。 Host 字段是 HTTP/1.1 请求的必填字段。 它通常由用于创建客户机请求的工具自动插入。
- entity-header (请求)
- 请参阅 HTTP/1.1 - 7.1 实体头字段。 请求语法图中列出的其中一个实体头。
响应 参数
- 路径
- 请参阅 URI 格式 (URI Format)。
- HTTP 版本
- HTTP 版本;例如,
HTTP/1.1 - 总标题
- 请参阅 HTTP/1.1 - 4.5 常规头字段。
- response-header
- 请参阅 HTTP/1.1 - 6.2 响应头字段。
- entity-header (响应)
- 请参阅 HTTP/1.1 - 7.1 实体头字段。 "响应" 语法图中列出的其中一个实体或响应头。 Content-Length 始终存在于响应中。 如果没有消息体,那么将其设置为零。
- 消息
- 消息体。
描述
如果 HTTP DELETE 请求成功,响应消息将包含从 IBM MQ 队列中检索到的数据。 邮件正文的字节数在 HTTP Content-Length标题中返回。 HTTP 响应的状态代码设置为 200 OK 。 如果将 x-msg-range 指定为 0 或 0-0 ,则 HTTP 响应的状态代码为 204 No Content 。
如果 HTTP DELETE 请求失败,响应将包含 IBM MQ bridge for HTTP 错误消息和 HTTP 状态代码。
HTTP DELETE 示例
HTTP DELETE 从队列中获取消息并删除该消息,或者检索并删除该发布。 HTTPDELETE Java 样本是从队列中读取消息的 HTTP DELETE 请求示例。 您可以使用浏览器表单或 AJAX 工具箱来创建 HTTP DELETE 请求,而不使用 Java。
下图显示用于删除名为 myQueue 的队列上的下一条消息的 HTTP 请求。 作为响应,消息体将返回给客户机。 在 IBM MQ 中,HTTP DELETE 是破坏性获取。
请求包含 HTTP 请求头 x-msg-wait ,它指示 IBM MQ bridge for HTTP 等待队列中的消息到达的时间。 此请求还包含 x-msg-require-headers 请求头,用于指定客户机将在响应中收到消息相关标识。
DELETE /msg/queue/myQueue/ HTTP/1.1
Host: www.example.org
x-msg-wait: 10
x-msg-require-headers: correlID
下图显示返回至客户机的响应。 相关标识将返回至客户机,如请求的 x-msg-require-headers 中所请求。
HTTP/1.1 200 OK
Date: Wed, 2 Jan 2007 22:38:34 GMT
Server: Apache-Coyote/1.1 WMQ-HTTP/1.1 JEE-Bridge/1.1
Content-Length: 50
Content-Type: text/plain; charset=utf-8
x-msg-correlId: 1234567890
Here is my message body that is retrieved from the queue.
