クライアント TCP/IP 接続を介してデータを受信するには、TCPIPClientReceive ノードを使用します。
このトピックには、以下のセクションが含まれています。
TCPIPClientReceive ノードは、TCP/IP 接続上で受信されるデータを待機し、そのデータを取り出します。 接続が閉じる場合、例外がスローされます。
TCP/IP ノードに対して SSL を使用するように、ブローカーを構成できます。SSL および TCP/IP ノードを参照してください。
接続が確立されると、TCPIPClientReceive ノードにデータが送信されます。 TCPIPClientReceive ノードが「データ・レコード待機タイムアウト」プロパティーで指定されている時間内にすべてのデータを受信するのに失敗すると、メッセージが Timeout ターミナルに送信されます。Timeout ターミナルに接続していない場合、例外がスローされます。
以下のローカル環境のプロパティーは、ノードで使用される TCP/IP 接続を指定変更できます。
ノードへの入力用のローカル環境中の場所 | 説明 |
---|---|
$LocalEnvironment//TCPIP/Receive/Hostname | 接続を行うのに使用されるホスト名。 |
$LocalEnvironment//TCPIP/Receive/Port | 接続を行うのに使用されるポート番号。 |
$LocalEnvironment/TCPIP/Receive/Id | 使用されるソケットの ID。 この ID は、WebSphere® Message Broker で接続を一意的に識別するのに使用される内部 ID です。 |
$LocalEnvironment/TCPIP/Receive/ReplyId | この接続上で保管される応答 ID。 その後この ID は、データが入力ノードに戻される際に使用できます。 応答 ID は任意のテキスト・ストリングにすることができます。 |
$LocalEnvironment/TCPIP/Receive/Timeout | TCP/IP クライアント接続上のデータを待機する際に使用されるタイムアウト値。 この値は、ノードで指定された「データ・レコード待機タイムアウト」プロパティーをオーバーライドします。 |
$LocalEnvironment/TCPIP/Receive/Length | 固定サイズ・レコードを使用する際に読み取られるバイト数のオーバーライドに使用される値。 この値は、ノードで指定された「長さ (バイト数)」プロパティーをオーバーライドします。 「レコード検出」プロパティーが「固定長」以外の任意の値に設定された場合は、ローカル環境フィールドは無視されます。 このフィールドが存在しないか、ヌルに評価された場合、この値は無視され、ノードの値が使用されます。 |
これらのプロパティーを使用すると、接続の詳細 (ホスト名とポート番号) および使用される接続 (ID) が、動的に選択できます。 接続上で応答 ID を設定することもできます。こうすると、ストリングを接続中に格納して、この接続から戻されて受信するデータのローカル環境で表示することができます。 この接続を使用して、他の TCP/IP ノードか、または WebSphere MQ などの他のトランスポートから応答 ID を保管できます。
レコードを取り出す際に、ローカル環境内の ConnectionDetails フィールドには、使用されている接続の詳細情報が入れられます。
ノードからの出力用のローカル環境中の場所 | 説明 |
---|---|
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Type | クライアント。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Hostname | 接続を行うのに使用されるホスト名。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Port | 接続を行うのに使用されるポート番号。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/OpenTimestamp | 初めて接続が開かれた時点のタイム・スタンプ。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/CloseTimestamp | 接続が閉じた時点のタイム・スタンプ (まだ閉じていない場合はヌル)。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/SequenceNumber/InputRecord | この接続上で受け取られるメッセージのシーケンス番号。 先頭レコードのシーケンス番号は 1 です。2 番目のレコードは 2 で、以後同様です。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/SequenceNumber/OutputRecord | この接続上で送信されるメッセージのシーケンス番号。 先頭レコードのシーケンス番号は 1 です。2 番目のレコードは 2 で、以後同様です。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/Id | 使用されるソケットの ID。 この ID は、WebSphere Message Broker で接続を一意的に識別するのに使用される内部 ID です。 |
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/ReplyId | この接続上で保管される応答 ID。 この ID は任意のテキスト・ストリングにすることができます。 |
TCPIPClientReceive ノードはパレットの「TCPIP」ドロワーに入っていて、WebSphere Message Broker Toolkit 内では次のアイコンによって表されます。
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
TCPIPClientReceive ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。
デフォルト値が定義されていないすべての必須プロパティーには、アスタリスクのマークが付きます。
以下のように、TCPIPClientReceive ノードを構成します。
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
<Fmt>XML</Fmt></mcd>
MQRFH2 ヘッダーの値とは異なる値を設定すると、MQRFH2 ヘッダーの値が優先されます。
「レコード検出」を、「クローズした接続」、「固定長」、または 「区切り」に設定すると、レコード長には 100 MB の限度が適用されます。 「レコード検出」を「解析済みレコード・シーケンス」に設定すると、TCPIPClientReceive ノードは、レコード長を判別も制限もしません。 メッセージ・フロー中の下流のノードは、レコード長の判別や、長いレコードの処理を試みることがあります。 このようなやり方で大きなレコードを処理するつもりの場合、ブローカーに十分なメモリーがあることを確認しておいてください。 使用可能メモリーを最大限に活用するには、Large Messaging サンプルに説明されているフロー技法を用いる必要があるかもしれません。
TCPIPClientReceive ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Out | 外部リソースからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。 入力ノード内でエラーが起こらなかった場合、外部リソースから受信されるメッセージは常にこの Out ターミナルにまず送信されます。 |
Timeout | 「データ・レコード待機タイムアウト」プロパティーで指定された時間を超過した際にメッセージが送信されるターミナル。 メッセージ・テキストは、「タイムアウト値を超過しました」です。 |
Failure | エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 このエラーには、再試行処理が原因の障害も含まれます。 「妥当性検査」プロパティーが設定されている場合でも、このターミナルに伝搬されるメッセージは妥当性検査が行われません。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。
TCPIPClientReceive ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | TCPIPClientReceive | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
TCPIPClientReceive ノードの基本プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
接続の詳細 | はい | はい | 使用するホスト名とポート番号か、または構成可能サービスの名前を含むストリング。 | connectionDetails | |
データ・レコード待機タイムアウト (秒) | はい | はい | 60 | データの先頭バイトの到達後に、接続上でノードがさらにデータを listen する期間を指定します。 秒単位の任意の時間の長さを指定できます。 | timeoutWaitingForData |
TCPIPClientReceive ノードの拡張プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
接続のクローズ | はい | いいえ | いいえ | 接続をいつ閉じるか、あるいは開いたままにするかを制御します。 有効なオプションは、以下のとおりです。
|
レコードの受信後に入力ストリームをクローズします | はい | いいえ | 選択されていない | データの取り出し後すぐに入力ストリームを閉じるかどうかを指定します。 接続入力ストリームが予約されると、他のノードは ID を認識していないとそのストリームを使用できません。 デフォルトでは、このプロパティーは選択されていません。 |
入力ストリームの変更 | いいえ | いいえ | 変更しないでそのままにする | 接続 ID を指定する入力ノードと受信ノードのみが使用するように入力ストリームを予約するかどうか、またはフローの終わりに入力ストリームを解放するかどうかを指定します。 有効なオプションは、以下のとおりです。
|
出力ストリームの変更 | いいえ | いいえ | 変更しないでそのままにする | この出力ストリームを予約するか、それとも解放して、どの出力ノードでも使用されるようにプールに戻すかどうかを指定します。
有効なオプションは、以下のとおりです。
|
TCPIPClientReceive ノードの「要求」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ホスト名の場所 | はい | いいえ | $LocalEnvironment/TCPIP/Receive/Hostname | ホスト名を含むメッセージ・エレメントの場所。 |
ポートの場所 | はい | いいえ | $LocalEnvironment/TCPIP/Receive/Port | ポートを含むメッセージ・エレメントの場所。 |
ID の場所 | はい | いいえ | $LocalEnvironment//TCPIP/Receive/Id | ID を含むメッセージ・エレメントの場所。 |
返信用 ID の場所 | はい | いいえ | $LocalEnvironment/TCPIP/Receive/ReplyId | 応答 ID を含むメッセージ・エレメントの場所。 |
レコード長の場所。 | いいえ | いいえ | $LocalEnvironment/TCPIP/Receive/Length | 読み取られるレコード長を含むメッセージ・エレメントのロケーション。 「レコードとエレメント」タブ上の「長さ (バイト数)」プロパティーを指定変更する値のロケーションを指定します。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Length になります。 |
TCPIPClientReceive ノードの「結果」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
出力データのロケーション | いいえ | いいえ | $OutputRoot | 出力メッセージ・ツリー内でメッセージのビット・ストリングから構文解析されたエレメントが保管される開始位置。 結果メッセージと着信メッセージの結合を参照してください。 |
ローカル環境のコピー | いいえ | いいえ | 選択されている | ローカル環境を出力メッセージにコピーするかどうかを指定します。 |
TCPIPClientReceive ノードの「入力メッセージの構文解析」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
メッセージ・ドメイン | いいえ | いいえ | BLOB | 着信メッセージの構文解析に使用されるドメイン。 | |
メッセージ・モデル | いいえ | いいえ | 着信メッセージが定義されているメッセージ・モデルの名前またはロケーション。 | ||
メッセージ | いいえ | いいえ | データの文書全体をモデル化し、メッセージ・モデル・スキーマ・ファイル内に含まれているグローバル・エレメントの名前またはロケーション。 このリストには、選択したメッセージ・モデルで定義された、利用可能なすべてのメッセージが取り込まれます。 | ||
物理形式 | いいえ | いいえ | 着信メッセージの物理フォーマットの名前。 | ||
メッセージ・コード化文字セット ID | はい | いいえ | ブローカー・システム・デフォルト | 読み取られるデータを解釈するのに使用されるコード化文字セットの ID。 | messageCodedCharSetIdProperty |
メッセージ・エンコード | はい | いいえ | ブローカー・システム指定 | 読み取られるデータを解釈するのに使用される数字およびラージ文字のエンコード・スキーム。 有効な値は、「ブローカー・システム指定」または数値のエンコード値です。 エンコードの詳細については、データ変換を参照してください。 | messageEncodingProperty |
TCPIPClientReceive ノードの「パーサー・オプション」のプロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | いいえ | いいえ | 要求時 | このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は以下のとおりです。
このプロパティーに関する詳しい説明については、要求時の構文解析を参照してください。 |
XML スキーマ・データ・タイプを使用してツリーを構築する | いいえ | いいえ | 選択されていない | このプロパティーは、メッセージ・ツリー内の構文エレメントが、XML スキーマから取得されたデータ・タイプを持つかどうかを制御します。 |
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定すると、入力 MQRFH2 ヘッダーまたは「入力メッセージの構文解析」プロパティー「メッセージ・ドメイン」が XMLNS の場合に、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。 |
混合内容の保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。 |
コメントの保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。 |
処理命令の保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。 |
不透明エレメント | いいえ | いいえ | ブランク | XMLNSC パーサーによって不透明解析される入力メッセージ内のエレメントのリストを指定するときに、このプロパティーを使用します。 |
TCPIPClientReceive ノードの「レコードおよびエレメント」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
レコード検出 | はい | いいえ | クローズした接続 | 入力データ内のレコードを特定するために使用される仕組み。 有効なオプションは、以下のとおりです。
|
長さ (バイト数) | はい | いいえ | 0 | レコード検出に「固定長」が選択されたときの各レコードのバイト単位の長さ。 |
区切り文字 | はい | いいえ | DOS または UNIX の行終了 | 「区切り」レコード検出が選択されたときに、各レコードを分離または終了する区切り文字バイトのタイプ。 有効なオプションは、以下のとおりです。
|
カスタム区切り文字 (16 進数) | いいえ | いいえ | 「区切り」レコード検出および「カスタム区切り文字 (16 進数)」が選択されたときの、16 進数で表される区切り文字バイト。 「区切り文字」プロパティーを「カスタム区切り文字 (16 進数)」に設定した場合のみ、このプロパティーは必須です。 | |
区切り文字タイプ | はい | いいえ | 後置 | 「区切り」レコード検出および「カスタム区切り文字 (16 進数)」が選択されたときの区切り文字の位置。 有効なオプションは、以下のとおりです。
|
TCPIPClientReceive ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は以下のとおりです。
|
validateMaster |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は以下のとおりです。
|
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
イベント | いいえ | いいえ | なし | ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」、「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。 「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。 |