HTTP POST: WebSphere MQ Bridge for HTTP コマンド
HTTP POST 操作で、WebSphere® MQ キューにメッセージを書き込むか、またはトピックにメッセージをパブリッシュします。
構文
Request .-CRLF---------------. V | >>-POST--| Path |--HTTP version--CRLF----+----------------+-+---> '-general-header-' .-CRLF---------------. V | >----+----------------+-+---------------------------------------> '-request-header-' .-CRLF----------------------------. .-CRLF----. V | V | >----+-----------------------------+-+--CRLF----Message-+------>< '-| entity-header (Request) |-' Path |--/--contextRoot--/--------------------------------------------> >--msg/--+-queue/--queueName--+-------------+-+--/--------------| | '-@--qMgrName-' | '-topic/--topicName------------------' entity-header (Request) |--+----------------------------------------------+-------------| +-standard entity-header-- --entity-value------+ +-x-msg-class-- --message type-----------------+ +-x-msg-correlId-- --correlation ID------------+ +-x-msg-encoding-- --encoding type-------------+ +-x-msg-expiry-- --duration--------------------+ +-x-msg-format-- --message format--------------+ +-x-msg-msgId-- --message ID-------------------+ +-x-msg-persistence-- --persistence------------+ +-x-msg-priority-- --priority class------------+ +-x-msg-replyTo-- --reply-to queue-------------+ +-x-msg-require-headers-- --entity header name-+ '-x-msg-usr-- --user properties----------------'
- 疑問符 (?) が使用される場合、%3f に置き換える必要があります。 例えば、orange?topic は orange%3ftopic と指定する必要があります。
- @qMgrName は、HTTP POST でのみ有効です。
Response >>-HTTP version-- --HTTP Status-Code-- --HTTP Reason-Phrase--CRLF--> .-CRLF---------------. .-CRLF----------------. V | V | >----+----------------+-+----+-----------------+-+--------------> '-general-header-' '-response-header-' .-CRLF-----------------------------. V | >----+------------------------------+-+------------------------>< '-| entity-header (Response) |-' entity-header (Response) |--+-----------------------------------------+------------------| +-standard entity-header-- --entity-value-+ +-x-msg-class-- --message type------------+ +-x-msg-correlId-- --correlation ID-------+ +-x-msg-encoding-- --encoding type--------+ +-x-msg-expiry-- --duration---------------+ +-x-msg-format-- --message format---------+ +-x-msg-msgId-- --message ID--------------+ +-x-msg-persistence-- --persistence-------+ +-x-msg-priority-- --priority class-------+ +-x-msg-replyTo-- --reply-to queue--------+ +-x-msg-timestamp-- --HTTP-date-----------+ '-x-msg-usr-- --user properties-----------'
要求パラメーター
- Path
- URI フォーマット を参照してください。
- HTTP version
- HTTP のバージョン (例えば、HTTP/1.1)
- general-header
- HTTP/1.1 - 4.5 General Header Fields を参照してください。
- request-header
- HTTP/1.1 - 5.3 Request Header Fields を参照してください。Host フィールドは、HTTP/1.1 要求では必須です。これは多くの場合、クライアント要求を作成するために使用したツールが自動的に挿入します。
- entity-header (Request)
- HTTP/1.1 - 7.1 Entity Header Fields を参照してください。Request 構文図にリストされたエンティティー・ヘッダーのうちの 1 つ。 Content-Length および Content-Type は要求に挿入する必要があり、多くの場合、クライアント要求の作成に使用するツールによって自動的に挿入されます。 Content-Type を指定する場合は、x-msg-class カスタム・エンティティー・ヘッダーで定義したタイプと一致しなければなりません。
- メッセージ
- キューに書き込むメッセージ、またはトピックにポストするパブリケーション。
応答パラメーター
- Path
- URI フォーマット を参照してください。
- HTTP version
- HTTP のバージョン (例えば、HTTP/1.1)
- general-header
- HTTP/1.1 - 4.5 General Header Fields を参照してください。
- response-header
- HTTP/1.1 - 6.2 Response Header Fields を参照してください。
- entity-header (Response)
- HTTP/1.1 - 7.1 Entity Header Fields を参照してください。Response 構文図にリストされたエンティティーまたは応答ヘッダーの 1 つ。 Content-Length は、応答内に常に存在します。 メッセージ本体がない場合は、ゼロに設定されます。
説明
x-msg-usr ヘッダーが組み込まれておらず、メッセージ・クラスが BYTES または TEXT の場合、キューに置かれたメッセージには MQRFH2 がありません。
HTTP POST 要求の HTTP エンティティー・ヘッダーおよび要求ヘッダーを使用して、キューに置かれているメッセージのプロパティーを設定します。 応答メッセージでどのヘッダーを返してもらうかを要求するため、x-msg-require-headers を使用することもできます。
HTTP POST 要求が正常に行われると、応答メッセージのエンティティーは空になり、応答の Content-Length はゼロになります。HTTP 状況コードは 200 OK になります。
HTTP POST 要求が失敗した場合、応答には WebSphere MQ Bridge for HTTP エラー・メッセージおよび HTTP 状況コードが含まれます。 WebSphere MQ メッセージはキューにもトピックにも書き込まれません。
HTTP POST の例
HTTP POST はキューにメッセージを書き込むか、またはトピックにパブリケーションを書き込みます。HTTPPOST Java™ サンプルは、キューへのメッセージを HTTP POST 要求で送るサンプルです。Java を使用する代わりに、ブラウザーのフォームや AJAX ツールキットを使用して HTTP POST 要求を作成することもできます。
図 1に、myQueue というキューにメッセージを書き込むための HTTP 要求を示します。この要求には HTTP ヘッダー x-msg-correlId が含まれていて、これにより、WebSphere MQ メッセージの相関 ID が設定されます。
POST /msg/queue/myQueue/ HTTP/1.1
Host: www.example.org
Content-Type: text/plain
x-msg-correlID: 1234567890
Content-Length: 50
Here is my message body that is posted on the queue.
図 2に、クライアントに返信される応答を示します。応答の内容はありません。
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: 0

資料