HTTP GET : 命令 IBM MQ bridge for HTTP
HTTP GET 操作从 IBM® MQ 队列中获取消息。 该消息保留在队列中。 HTTP GET 操作相当于浏览 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 GET 请求成功,响应消息将包含从 IBM MQ 队列中检索到的数据。 邮件正文的字节数在 HTTP Content-Length报头中返回。 HTTP 响应的状态代码设置为 200 OK 。 如果将 x-msg-range 指定为 0 或 0-0 ,则 HTTP 响应的状态代码为 204 No Content 。
如果 HTTP GET 请求失败,响应将包含 IBM MQ bridge for HTTP 错误消息和 HTTP 状态代码。
HTTP GET 示例
HTTP GET 从队列中获取消息。 该消息保留在队列中。 在 IBM MQ 中,HTTP GET 是浏览请求。 您可以使用 Java 客户端、浏览器表单或 AJAX 工具箱来创建 HTTP GET 请求。
下图显示用于浏览名为 myQueue 的队列上的下一条消息的 HTTP 请求。
请求包含 HTTP 请求头 x-msg-wait ,它指示 IBM MQ bridge for HTTP 等待队列中的消息到达的时间。 此请求还包含 x-msg-require-headers 请求头,用于指定客户机将在响应中收到消息相关标识。
GET /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 appears on the queue.
