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----------------'   

注:
  1. 疑問符 (?) が使用される場合、%3f に置き換える必要があります。 例えば、orange?topicorange%3ftopic と指定する必要があります。
  2. @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 が設定されます。

図 1. キューに対する HTTP POST 要求の例
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に、クライアントに返信される応答を示します。応答の内容はありません。

図 2. HTTP POST 応答の例
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

資料 資料

フィードバック

タイム・スタンプ・アイコン 最終更新: 2018 年 10 月 2 日 (火)
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.dev.doc/com.ibm.mq.ref.dev.doc/q110630_.htm ts21220_