WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

TCPIPServerReceive ノード

サーバー TCP/IP 接続を介してデータを受信するには、TCPIPServerReceive ノードを使用します。

このトピックには、以下のセクションが含まれています。

目的

TCPIPServerReceive ノードは、TCP/IP 接続上で受信されるデータを待機し、そのデータを取り出します。 接続が閉じる場合、例外がスローされます。

接続が確立されると、TCPIPServerReceive ノードにデータが送信されます。 TCPIPServerReceive ノードが「データ・レコード待機タイムアウト」プロパティーで指定されている時間内にすべてのデータを受信するのに失敗すると、メッセージが Timeout ターミナルに送信されます。Timeout ターミナルに接続していない場合、例外がスローされます。

TCP/IP ノードに対して SSL を使用するように、ブローカーを構成できます。SSL および TCP/IP ノードを参照してください。

以下のローカル環境のプロパティーは、ノードで使用される TCP/IP 接続を指定変更できます。

表 1. 入力ローカル環境プロパティー
ノードへの入力用のローカル環境中の場所 説明
$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 フィールドには、使用されている接続の詳細情報が入れられます。

表 2. 出力ローカル環境プロパティー
ノードからの出力用のローカル環境中の場所 説明
$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。 任意のテキスト・ストリングにすることができます。
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/ClientDetails/Hostname クライアントの接続元のコンピューターの完全修飾ドメイン・ネーム。
$LocalEnvironment/TCPIP/Receive/ConnectionDetails/ClientDetails/Address クライアントの接続元のコンピューターの IP アドレス。

TCPIPServerReceive ノードはパレットの「TCPIP」ドロワーに入っていて、WebSphere Message Broker Toolkit 内では次のアイコンによって表されます。

TCPIPServerReceive ノード・アイコン

メッセージ構造

TCPIPServerReceive ノードは、次のメッセージ・ドメインのメッセージを処理します。
  • DFDL
  • XMLNSC
  • DataObject
  • JSON
  • BLOB
  • MIME
  • MRM
  • JMSMap
  • JMSStream
  • XMLNS

メッセージ・フロー内での TCPIPServerReceive ノードの使用

TCPIPServerReceive ノードの使用法については、次のサンプルを参照してください。

サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。

TCPIPServerReceive ノードの構成

TCPIPServerReceive ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。

デフォルト値が定義されていないすべての必須プロパティーには、アスタリスクのマークが付きます。

以下のように、TCPIPServerReceive ノードを構成します。

  1. オプション: 「説明」タブで、簡略説明詳細説明、あるいはその両方を入力します。 このタブで、ノードを名前変更することもできます。
  2. 「基本」 タブで、TCP/IP 接続の制御方法を決定するプロパティーを設定します。
    • 「接続の詳細」プロパティーを使用して、使用するホスト名とポート番号か、または構成可能サービスの名前を指定します。 このプロパティーは必須です。 以下の形式がサポートされています。
      • 構成可能サービス名。 この値は構成可能サービスでポートとホスト名を検索するのに使用します。 例えば、TCPIPProfile1 のように指定します。
      • <Hostname>:<Port>。 この値は、ホスト名と、その後に続くポート番号で構成されます (コロンで区切られています)。例えば、tcpip.server.com:1111 のように指定します。
      • <Port>。 この値はポート番号です。 この場合、ホスト名は localhost と想定されます。
    • 「データ・レコード待機タイムアウト (秒)」プロパティーを使用して、データの先頭バイトの到達後に、接続上でノードがさらにデータを listen する期間を指定します。 秒単位の任意の時間の長さを指定できます。 デフォルトは 60 秒です。 指定時間を超過すると、使用可能なデータがすべて Failure ターミナルに送信されます。
  3. 「拡張」タブで、データ・ストリームの制御方法を決定するプロパティーを設定します。
    • 「接続のクローズ」プロパティーを使用して、接続を閉じる時点と方法を指定します。
      • 接続を開いたままにするには、「いいえ」を選択します。 この値はデフォルトです。
      • タイムアウト発生時に接続を閉じるには、「タイムアウトの後」を選択します。
      • レコードの終わりが検出された時点で接続を閉じるには、「データが受信された後」を選択します。
    • データの取り出し後すぐに入力ストリームを閉じるには、「レコードの受信後に入力ストリームをクローズします」を選択します。 デフォルトでは、このプロパティーは選択されていません。 接続入力ストリームが予約されると、他のノードは ID を認識していないとそのストリームを使用できません。
    • 「入力ストリームの変更」プロパティーを使用して、接続 ID を指定する入力ノードと受信ノードのみが使用するように入力ストリームを予約するかどうか、またはフローの終わりに入力ストリームを解放するかどうかを指定します。
      • 入力ストリームをノードに入ったときのままにするには、「変更しないでそのままにする」を選択します。 デフォルトでは、この値が選択済みになっています。
      • この入力ストリームがプールに戻されて、どの入力ノードや受信ノードでも使用できることを指定するには、「入力ストリームを解放する」を選択します。
      • この入力ストリームが、このノードと、接続 ID を指定してこのストリームを要求する他の入力ノードまたは受信ノードのみで使用できることを指定するには、「入力ストリームを予約する (将来の TCP/IP の Input および Receive ノードで使用するため)」を選択します。 接続入力ストリームが予約されると、他のノードは正しい接続 ID を指定しないとそのストリームを使用できません。
      • この入力ストリームが、このノードと、正しい接続 ID を指定してこのストリームを要求する受信ノードのみで使用できることを指定するには、「入力ストリームを予約 (将来の TCP/IP の Input および Receive ノードで使用するため) して、伝搬の後に解放する」を選択します。 メッセージが伝搬された後で、この入力ストリームはプールに戻されて、どの入力ノードや受信ノードでも使用できるようになります。
    • 「出力ストリームの変更」プロパティーを使用して、出力ストリームを予約するか、それとも解放するかどうかを指定します。 これらのオプションを利用できるのは、「レコードの送信後に出力ストリームをクローズします」プロパティーを選択していない場合のみです。
      • 出力ストリームをノードに入ったときのままにするには、「変更しないでそのままにする」を選択します。 デフォルトでは、この値が選択済みになっています。
      • この出力ストリームがプールに戻されて、どの出力ノードでも使用できることを指定するには、「出力ストリームを解放する」を選択します。
      • この出力ストリームが、このノードと、接続 ID を指定してこのストリームを要求する他の出力ノードのみで使用できることを指定するには、「出力ストリームを予約する (将来の TCP/IP 出力ノードで使用するため)」を選択します。 接続入力ストリームが予約されると、他のノードは正しい接続 ID を指定しないとそのストリームを使用できません。
      • この出力ストリームが、このノードと、正しい接続 ID を指定してこのストリームを要求する出力ノードのみで使用できることを指定するには、「出力ストリームを予約 (将来の TCP/IP 出力ノードで使用するため) して、伝搬の後に解放する」を選択します。 メッセージが伝搬された後で、この出力ストリームはプールに戻されて、どの出力ノードでも使用できるようになります。
  4. 「要求」タブで、書き込むデータのロケーションを指定します。 このタブ上でプロパティーを XPath または ESQL 式で指定することができます。 コンテンツ・アシストは、「プロパティー」ビューで選択することができ、さらに、XPath Expression Builder でも選択できます。XPath Expression Builder は、各プロパティーの右側にある「編集」 ボタンをクリックして実行できます。
    • 「ホスト名の場所」で、「基本」タブの「接続の詳細」プロパティー内で設定されている「ホスト名」を指定変更する値のロケーションを指定します。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Hostname になります。
    • 「ポートの場所」で、「基本」タブの「接続の詳細」プロパティー内で設定されている「ポート」を指定変更する値のロケーションを指定します。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Port になります。
    • 「ID の場所」で、使用されるソケットの「Id」のロケーションを指定します。 この内部 ID は、WebSphere Message Broker で接続を一意的に識別するのに使用されます。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Id になります。
    • 「返信用 ID の場所」に、使用される接続上に格納される応答 ID のロケーションを指定します。 応答 ID は、データが入力ノードに戻される際に使用できます。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/ReplyId になります。
  5. 「結果」タブで、応答を保管する場所を決定するプロパティーに値を設定します。
    • 「出力データのロケーション」プロパティーを使用して、出力メッセージ・ツリー内でメッセージのビット・ストリングから構文解析されたエレメントが保管される開始位置を指定します。 デフォルト値は $OutputRoot です。
    • 「ローカル環境のコピー」プロパティーを使用して、ローカル環境を出力メッセージにコピーするかどうかを指定します。
      • 「ローカル環境のコピー」を選択すると、ツリー内に新しいローカル環境のコピーが作成され、その中に、先行するノードからローカル環境の内容が入れられます。 したがって、ノードによってローカル環境が変更されても、上流のノードは、それぞれ独自のコピーを保有しているので、そのような変更の影響を受けないことを意味します。 この値はデフォルトです。
      • 「ローカル環境のコピー」を選択しないと、ノードはローカル環境の独自のコピーを生成せず、先行するノードから渡されたローカル環境を使用します。 したがって、ノードがローカル環境を変更した場合、その変更は上流のノードで反映されます。
  6. 「入力メッセージの構文解析」タブで、ノードが着信メッセージの構文解析方法を決定するときに使用するプロパティーの値を設定します。
    着信メッセージに MQRFH2 ヘッダーがある場合には、その MQRFH2 ヘッダーの <mcd> フォルダーから値が派生されるため、「入力メッセージの構文解析」プロパティーの値を設定する必要はありません。例えば、以下のようになっています。
    <mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
    <Fmt>XML</Fmt></mcd>

    MQRFH2 ヘッダーの値とは異なる値を設定すると、MQRFH2 ヘッダーの値が優先されます。

    • 「メッセージ・ドメイン」では、リストから使用するパーサーの名前を選択します。 デフォルトは BLOB です。 以下のオプションの中から選択することができます。
      • DFDL
      • XMLNSC
      • DataObject
      • JSON
      • BLOB
      • MIME
      • MRM
      • JMSMap
      • JMSStream
      • XMLNS
      状況により、ユーザー定義のパーサーを指定することもできます。
    • 検証モードで DFDL パーサー、MRM パーサー、または XMLNSC パーサーを使用している場合、リストから関連した「メッセージ・モデル」を選択します。 メッセージ・ドメインとして MRM または XMLNSC を選択すると、使用可能なメッセージ・セットがこのリストに取り込まれます。 メッセージ・ドメインとして DFDL を選択すると、使用可能な DFDL スキーマ・ファイルが取り込まれます。
    • DFDL パーサーまたは MRM パーサーを使用する場合は、「メッセージ」のリストから、適切なメッセージ・タイプを選択します。 このリストには、選択したメッセージ・モデルで定義されたメッセージが取り込まれます。
    • MRM パーサーを使用する場合は、「物理形式」のリストから、メッセージの形式を選択します。 このリストには、このメッセージ・モデル用に定義されたすべての物理形式が掲載されます。
    • 「メッセージ・コード化文字セット ID」で、メッセージ・コード化文字セット ID を指定します。
    • メッセージ・エンコードを「メッセージ・エンコード」のリストから選択するか、または数値のエンコード値を指定します。 エンコードの詳細については、データ変換を参照してください。
  7. 「パーサー・オプション」サブタブで以下のようにします。
    • 「解析のタイミング」は、デフォルトによって、「要求時」に設定されます。これにより、メッセージの構文解析が遅延されます。 メッセージが即時に解析されるようにするには、要求時の構文解析を参照してください。
    • XMLNSC パーサーを使用する場合、XMLNSC パーサーの稼働方法を指定するプロパティーの値を設定します。 詳しくは、XMLNSC ドメインでのメッセージの操作を参照してください。
  8. 「レコードとエレメント」タブを使用して、データをレコードとして解釈する方法を指定します。 TCPIPServerReceive ノードを開始するたびに取得されるレコードは 1 つだけです。したがって、TCP/IP ストリームに論理メッセージが複数含まれる場合は、メッセージをすべて受信するためにノードを複数回開始する必要があります。
    • 「レコード検出」プロパティーを使用して、それぞれがメッセージを 1 つずつ生成する複数のレコードにデータを分割する方法を指定します。 以下のオプションの中から選択します。
      • 「クローズした接続」は、接続中に送信されるすべてのデータが単一レコードであることを指定します。
      • 「固定長」は、各レコードは固定バイト数の長さであることを指定します。 ファイル内のおそらくは短い最後のレコードを除き、各レコードには、「長さ」プロパティーに指定されているバイト数が入っています。
      • 処理しているレコードが、DOS または UNIX の行終了によって、または一連のユーザー定義区切りバイトによって分離または終了されている場合は、「区切り」を選択します。 区切り文字および区切り文字タイプを「区切り文字」および「区切り文字タイプ」プロパティーに指定します。
      • メッセージ・ドメインで指定されたパーサーによって逐次認識された 1 つ以上のレコードのシーケンスがデータに存在する場合は、「構文解析されたレコード・シーケンス」を選択します。 ノードは、認識された各レコードを別々のメッセージとして伝搬します。 この「レコード検出」オプションを選択する場合、「メッセージ・ドメイン」に指定するパーサーは、XMLNSC または MRM (CWF または TDS のどちらかの物理形式) でなければなりません。
    • 「レコード検出」「固定長」に設定した場合は、「長さ」を使用して、出力レコードに必要な長さを指定します。 値は、1 バイトから 100 MB まででなければなりません。 デフォルトは 80 バイトです。

      「レコード検出」を、「クローズした接続」「固定長」、または 「区切り」に設定すると、レコード長には 100 MB の限度が適用されます。 「レコード検出」「解析済みレコード・シーケンス」に設定すると、TCPIPServerReceive ノードは、レコード長を判別も制限もしません。 メッセージ・フロー中の下流のノードは、レコード長の判別や、長いレコードの処理を試みることがあります。 このようなやり方で大きなレコードを処理するつもりの場合、ブローカーに十分なメモリーがあることを確認しておいてください。 使用可能メモリーを最大限に活用するために、Large Messaging サンプルで説明されているメッセージ・フロー技法を使用しなければならない場合もあります。

    • 「レコード検出」「区切り」に設定した場合、「区切り文字」を使用して、使用する区切り文字を指定します。 以下のオプションの中から選択します。
      • DOS または UNIX の行終了。これは、UNIX システムでは改行文字 (<LF>、X'0A') を指定し、Windows システムでは復帰文字とその後に続く改行文字 (<CR><LF>, X'0D0A') を指定します。 ブローカーが稼働しているシステムが何であっても、ノードは、これらのストリングを両方とも区切り文字として扱います。 両方のストリングが同じレコード中に表示される場合、ノードはどちらも区切り文字と認識します。 ノードは、z/OS® システム上では「改行」バイトである X'15' を認識しません。したがって、EBCDIC 改行を使ってコーディングされた入力ファイルの場合は、このプロパティーを「カスタム区切り文字」に設定し、「カスタム区切り文字」15 に設定します。
      • カスタム区切り文字 (16 進数)。これは、「カスタム区切り文字 (16 進数)」での一連のバイトの指定を可能にします。
    • 「カスタム区切り文字 (16 進数)」では、「区切り文字」「カスタム区切り文字 (16 進数)」に設定されている場合に使用する 1 つ以上の区切り文字バイトを指定します。 16 進数字の偶数ストリングでこの値を指定します。 デフォルトは X'0A' であり、ストリングの最大長は 16 バイトです (32 桁の 16 進数字で表されます)。
    • 「レコード検出」「区切り」に設定した場合、「区切り文字タイプ」を使用して、使用する区切り文字のタイプを指定します。 使用できる値は以下のとおりです。
      • 中置。 この値を選択すると、各区切り文字によってレコードが区切られます。 データが区切り文字で終了する場合、最後の区切り文字の後に続く (ゼロの長さの) データは、データが入っていなくても、やはり伝搬されます。
      • 後置。 この値を指定すると、各区切り文字によってレコードが終了します。 データが区切り文字で終了する場合、区切り文字より後の空のレコードは伝搬されません。 データが区切り文字で終了しない場合、そのデータの最終バイトの後に区切り文字が続いているものとしてデータは処理されます。 「後置」がデフォルト値です。
    • TCPIPServerReceive ノードでは、入力データで区切り文字が出現するたびに、それによって各レコードが分離 (中置) または終了 (後置) されるとみなされます。 データが区切り文字で開始する場合は、ノードはその区切り文字の前の (ゼロの長さの) 内容をレコードとして扱い、空のレコードをフローに伝搬します。 区切り文字が伝搬されるメッセージに含まれることはありません。
  9. 「妥当性検査」タブを使用して、事前定義メッセージ用のメッセージ・セットに基づいた妥当性検査を提供します。 妥当性検査の詳細については、メッセージの妥当性検査を参照してください。 このタブを完成させる方法の詳細は、「妥当性検査」タブのプロパティーを参照してください。

ターミナルおよびプロパティー

TCPIPServerReceive ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Out 外部リソースからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。 入力ノード内でエラーが起こらなかった場合、外部リソースから受信されるメッセージは常にこの Out ターミナルにまず送信されます。
Timeout 「データ・レコード待機タイムアウト」プロパティーで指定された時間を超過した際にメッセージが送信されるターミナル。 メッセージ・テキストは、「タイムアウト値を超過しました」です。
Failure エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 このエラーには、再試行処理が原因の障害も含まれます。 「妥当性検査」プロパティーが設定されている場合でも、このターミナルに伝搬されるメッセージは妥当性検査が行われません。

以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。

TCPIPServerReceive ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
ノード名 いいえ いいえ TCPIPServerReceive ノードの名前。
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

TCPIPServerReceive ノードの基本プロパティーによって、TCP/IP 接続をどう制御するかが決まります。次の表に説明されています。

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
接続の詳細 はい はい   使用するポート番号、または構成可能サービスの名前を含むストリング。 以下の形式がサポートされています。
  • 構成可能サービス名。 この値は構成可能サービスでポートとホスト名を検索するのに使用します。 例えば、TCPIPProfile1 のように指定します。
  • <Port>。 この値はポート番号です。例えば、1111 のように指定します。
  • <Port>。 この値はポート番号です。 この場合、ホスト名は localhost と想定されます。
connectionDetails
データ・レコード待機タイムアウト (秒) はい はい 60 データの先頭バイトの到達後に、接続上でノードがさらにデータを listen する期間を指定します。 秒単位の任意の時間の長さを指定できます。 デフォルトは 60 秒です。 指定時間を超過すると、使用可能なデータがすべて Failure ターミナルに送信されます。 timeoutWaitingForData

TCPIPServerReceive ノードの「拡張」プロパティーによって、データ・ストリームをどう制御するのかが決まります。次の表に説明されています。

プロパティー M C デフォルト 説明
接続のクローズ はい いいえ いいえ 接続をいつ閉じるか、あるいは開いたままにするかを制御します。 有効なオプションは、以下のとおりです。
  • 接続を開いたままにするには、「いいえ」を選択します。 この値はデフォルトです。
  • タイムアウト発生時に接続を閉じるには、「タイムアウトの後」を選択します。
  • レコードの終わりが検出された時点で接続を閉じるには、「データが受信された後」を選択します。
レコードの受信後に入力ストリームをクローズします はい いいえ 選択されていない データの取り出し後すぐに入力ストリームを閉じるかどうかを指定します。 接続入力ストリームが予約されると、他のノードは ID を認識していないとそのストリームを使用できません。 デフォルトでは、このプロパティーは選択されていません。
入力ストリームの変更 いいえ いいえ 変更しないでそのままにする 接続 ID を指定する入力ノードと受信ノードのみが使用するように入力ストリームを予約するかどうか、またはフローの終わりに入力ストリームを解放するかどうかを指定します。 有効なオプションは、以下のとおりです。
  • 入力ストリームをノードに入ったときのままにするには、「変更しないでそのままにする」を選択します。 デフォルトでは、この値が選択済みになっています。
  • この入力ストリームがプールに戻されて、どの入力ノードや受信ノードでも使用できることを指定するには、「入力ストリームを解放する」を選択します。
  • この入力ストリームが、このノードと、接続 ID を指定してこのストリームを要求する他の入力ノードまたは受信ノードのみで使用できることを指定するには、「入力ストリームを予約する (将来の TCP/IP の Input および Receive ノードで使用するため)」を選択します。 接続入力ストリームが予約されると、他のノードは正しい接続 ID を指定しないとそのストリームを使用できません。
  • この入力ストリームが、このノードと、正しい接続 ID を指定してこのストリームを要求する受信ノードのみで使用できることを指定するには、「入力ストリームを予約 (将来の TCP/IP の Input および Receive ノードで使用するため) して、伝搬の後に解放する」を選択します。 メッセージが伝搬された後で、この入力ストリームはプールに戻されて、どの入力ノードや受信ノードでも使用できるようになります。
出力ストリームの変更 いいえ いいえ 変更しないでそのままにする この出力ストリームを予約するか、それとも解放して、どの出力ノードでも使用されるようにプールに戻すかどうかを指定します。 これらのオプションを利用できるのは、「レコードの送信後に出力ストリームをクローズします」プロパティーを選択していない場合のみです。
  • 出力ストリームをノードに入ったときのままにするには、「変更しないでそのままにする」を選択します。 デフォルトでは、この値が選択済みになっています。
  • この出力ストリームがプールに戻されて、どの出力ノードでも使用できることを指定するには、「出力ストリームを解放する」を選択します。
  • この出力ストリームが、このノードと、接続 ID を指定してこのストリームを要求する他の出力ノードのみで使用できることを指定するには、「出力ストリームを予約する (将来の TCP/IP 出力ノードで使用するため)」を選択します。 接続入力ストリームが予約されると、他のノードは正しい接続 ID を指定しないとそのストリームを使用できません。
  • この出力ストリームが、このノードと、正しい接続 ID を指定してこのストリームを要求する出力ノードのみで使用できることを指定するには、「出力ストリームを予約 (将来の TCP/IP 出力ノードで使用するため) して、伝搬の後に解放する」を選択します。 メッセージが伝搬された後で、この出力ストリームはプールに戻されて、どの出力ノードでも使用できるようになります。

TCPIPServerReceive ノードの「要求」プロパティーを使って、書き込むデータのロケーションを指定します。 このタブ上でプロパティーを XPath または ESQL 式で指定することができます。 コンテンツ・アシストは、「プロパティー」ビューで選択することができ、さらに、XPath Expression Builder でも選択できます。XPath Expression Builder は、各プロパティーの右側にある「編集」 ボタンをクリックして実行できます。 「要求」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
ポートの場所 はい いいえ $LocalEnvironment/TCPIP/Receive/Port ポートを含むメッセージ・エレメントの場所。 「基本」タブの「接続の詳細」プロパティー内で設定されている「ポート」を指定変更する値のロケーションを指定します。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Port になります。
ID の場所 はい いいえ $LocalEnvironment/TCPIP/Receive/Id ID を含むメッセージ・エレメントの場所。 使用されるソケットの「Id」のロケーションを指定します。 この内部 ID は、WebSphere Message Broker で接続を一意的に識別するのに使用されます。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Id になります。
返信用 ID の場所 はい いいえ $LocalEnvironment/TCPIP/Receive/ReplyId 応答 ID を含むメッセージ・エレメントの場所。 使用される接続上に格納される応答 ID のロケーションを指定します。 応答 ID は、データが入力ノードに戻される際に使用できます。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/ReplyId になります。
レコード長の場所。 いいえ いいえ $LocalEnvironment/TCPIP/Receive/Length 読み取られるレコード長を含むメッセージ・エレメントのロケーション。 「レコードとエレメント」タブ上の「長さ (バイト数)」プロパティーを指定変更する値のロケーションを指定します。 ロケーションを指定しない場合、デフォルト値は $LocalEnvironment/TCPIP/Receive/Length になります。

TCPIPServerReceive ノードの「結果」プロパティーによって、どこに応答を格納するかが決まります。次の表に説明されています。

プロパティー M C デフォルト 説明
出力データのロケーション いいえ いいえ $OutputRoot 出力メッセージ・ツリー内でメッセージのビット・ストリングから構文解析されたエレメントが保管される開始位置。

結果メッセージと着信メッセージの結合を参照してください。

ローカル環境のコピー いいえ いいえ 選択されている ローカル環境を出力メッセージにコピーするかどうかを指定します。
  • 「ローカル環境のコピー」を選択すると、ツリー内に新しいローカル環境のコピーが作成され、その中に、先行するノードからローカル環境の内容が入れられます。 したがって、ノードによってローカル環境が変更されても、上流のノードは、それぞれ独自のコピーを保有しているので、そのような変更の影響を受けないことを意味します。 この値はデフォルトです。
  • 「ローカル環境のコピー」を選択しないと、ノードはローカル環境の独自のコピーを生成せず、先行するノードから渡されたローカル環境を使用します。 したがって、ノードがローカル環境を変更した場合、その変更は上流のノードで反映されます。

TCPIPServerReceive ノードの「入力メッセージの構文解析」プロパティーによって、入力メッセージをどう構文解析するかが決まります。

着信メッセージに MQRFH2 ヘッダーがある場合には、その MQRFH2 ヘッダーの <mcd> フォルダーから値が派生されるため、「入力メッセージの構文解析」プロパティーの値を設定する必要はありません。例えば、以下のようになっています。
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
<Fmt>XML</Fmt></mcd>

MQRFH2 ヘッダーの値とは異なる値を設定すると、MQRFH2 ヘッダーの値が優先されます。

TCPIPServerReceive ノードの「入力メッセージの構文解析」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
メッセージ・ドメイン いいえ いいえ BLOB 着信メッセージの構文解析に使用されるドメイン。  
メッセージ・モデル いいえ いいえ   着信メッセージが定義されているメッセージ・モデルの名前またはロケーション。  
メッセージ いいえ いいえ   データの文書全体をモデル化し、メッセージ・モデル・スキーマ・ファイル内に含まれているグローバル・エレメントの名前またはロケーション。 このリストには、選択したメッセージ・モデルで定義された、利用可能なすべてのメッセージが取り込まれます。  
物理形式 いいえ いいえ   着信メッセージの物理フォーマットの名前。  
メッセージ・コード化文字セット ID はい いいえ ブローカー・システム・デフォルト 読み取られるデータを解釈するのに使用されるコード化文字セットの ID。 messageCodedCharSetIdProperty
メッセージ・エンコード はい いいえ ブローカー・システム指定 読み取られるデータを解釈するのに使用される数字およびラージ文字のエンコード・スキーム。 有効な値は、「ブローカー・システム指定」または数値のエンコード値です。 エンコードの詳細については、データ変換を参照してください。 messageEncodingProperty

TCPIPServerReceive ノードの「パーサー・オプション」のプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
構文解析のタイミング いいえ いいえ 要求時 このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は以下のとおりです。
  • 要求時
  • 即時
  • 完了
「解析のタイミング」は、デフォルトによって、「要求時」に設定されます。これにより、メッセージの構文解析が遅延されます。 メッセージが即時に解析されるようにするには、要求時の構文解析を参照してください。
XML スキーマ・データ・タイプを使用してツリーを構築する いいえ いいえ 選択されていない このプロパティーは、メッセージ・ツリー内の構文エレメントが、XML スキーマから取得されたデータ・タイプを持つかどうかを制御します。
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 いいえ いいえ 選択されていない このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定すると、入力 MQRFH2 ヘッダーまたは「入力メッセージの構文解析」プロパティー「メッセージ・ドメイン」が XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。
混合内容の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。
コメントの保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。
処理命令の保存 いいえ いいえ 選択されていない このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。
不透明エレメント いいえ いいえ ブランク XMLNSC パーサーによって不透明解析される入力メッセージ内のエレメントのリストを指定するときに、このプロパティーを使用します。

TCPIPServerReceive ノードの「レコードおよびエレメント」プロパティーを使って、どのようにデータをレコードとして解釈するかを指定します。これについては、次の表に説明されています。

プロパティー M C デフォルト 説明
レコード検出 はい いいえ クローズした接続 入力データ内のレコードを特定するために使用される仕組み。
  • 「クローズした接続」は、接続中に送信されるすべてのデータが単一レコードであることを指定します。
  • 「固定長」は、各レコードは固定バイト数の長さであることを指定します。 ファイル内のおそらくは短い最後のレコードを除き、各レコードには、「長さ」プロパティーに指定されているバイト数が入っています。
  • 処理しているレコードが、DOS または UNIX の行終了によって、または一連のユーザー定義区切りバイトによって分離または終了されている場合は、「区切り」を選択します。 区切り文字および区切り文字タイプを「区切り文字」および「区切り文字タイプ」プロパティーに指定します。
  • メッセージ・ドメインで指定されたパーサーによって逐次認識された 1 つ以上のレコードのシーケンスがデータに存在する場合は、「構文解析されたレコード・シーケンス」を選択します。 ノードは、認識された各レコードを別々のメッセージとして伝搬します。 この「レコード検出」オプションを選択する場合、「メッセージ・ドメイン」に指定するパーサーは、XMLNSC または MRM (CWF または TDS のどちらかの物理形式) でなければなりません。
長さ (バイト数) はい いいえ 0 「レコード検出」「固定長」に設定した場合は、「長さ」を使用して、出力レコードに必要な長さをバイト数で指定します。 この値は、1 バイトから 100 MB の範囲でなければなりません。 デフォルトは 80 バイトです。

「レコード検出」を、「クローズした接続」「固定長」、または 「区切り」に設定すると、レコード長には 100 MB の限度が適用されます。 「レコード検出」「解析済みレコード・シーケンス」に設定すると、TCPIPServerReceive ノードは、レコード長を判別も制限もしません。 メッセージ・フロー中の下流のノードは、レコード長の判別や、長いレコードの処理を試みることがあります。 このようなやり方で大きなレコードを処理するつもりの場合、ブローカーに十分なメモリーがあることを確認しておいてください。 使用可能メモリーを最大限に活用するために、Large Messaging サンプルで説明されているメッセージ・フロー技法を使用しなければならない場合もあります。

区切り文字 はい いいえ DOS または UNIX の行終了 「レコード検出」「区切り」に設定した場合、「区切り文字」を使用して、使用する区切り文字を指定します。 以下のオプションの中から選択します。
  • DOS または UNIX の行終了。これは、UNIX システムでは改行文字 (<LF>、X'0A') を指定し、Windows システムでは復帰文字とその後に続く改行文字 (<CR><LF>, X'0D0A') を指定します。 ブローカーが稼働しているシステムが何であっても、ノードは、これらのストリングを両方とも区切り文字として扱います。 両方のストリングが同じレコード中に表示される場合、ノードはどちらも区切り文字と認識します。 ノードは、z/OS システム上では「改行」バイトである X'15' を認識しません。したがって、z/OS システムからの EBCDIC ファイルなどの、EBCDIC 改行を使ってコーディングされた入力ファイルの場合は、このプロパティーを「カスタム区切り文字」に設定し、「カスタム区切り文字」15 に設定します。
  • カスタム区切り文字 (16 進数)。これは、「カスタム区切り文字 (16 進数)」での一連のバイトの指定を可能にします。
カスタム区切り文字 (16 進数) いいえ いいえ   「区切り」レコード検出および「カスタム区切り文字 (16 進数)」が選択されたときに使用する区切り文字のバイト数。 「区切り文字」プロパティーを「カスタム区切り文字 (16 進数)」に設定した場合のみ、このプロパティーは必須です。 16 進数字の偶数ストリングでこの値を指定します。 デフォルトは X'0A' であり、ストリングの最大長は 16 バイトです (32 桁の 16 進数字で表されます)。
区切り文字タイプ はい いいえ 後置 「区切り」レコード検出および「カスタム区切り文字 (16 進数)」が選択されたときの区切り文字の位置。 有効なオプションは、以下のとおりです。
  • 中置。 この値を選択すると、各区切り文字によってレコードが区切られます。 データが区切り文字で終了する場合、最後の区切り文字の後に続く (ゼロの長さの) データは、データが入っていなくても、やはり伝搬されます。
  • 後置。 この値を指定すると、各区切り文字によってレコードが終了します。 データが区切り文字で終了する場合、区切り文字より後の空のレコードは伝搬されません。 データが区切り文字で終了しない場合、そのデータの最終バイトの後に区切り文字が続いているものとしてデータは処理されます。 「後置」がデフォルト値です。

TCPIPServerReceive ノードでは、入力データで区切り文字が出現するたびに、それによって各レコードが分離 (中置) または終了 (後置) されるとみなされます。 データが区切り文字で開始する場合は、ノードはその区切り文字の前の (ゼロの長さの) 内容をレコードとして扱い、空のレコードをフローに伝搬します。 区切り文字が伝搬されるメッセージに含まれることはありません。

「区切り文字」プロパティーを「カスタム区切り文字 (16 進数)」に設定しない限り、このプロパティーは無視されます。

TCPIPServerReceive ノードの「妥当性検査」プロパティーについては、次の表に説明されています。

これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
妥当性検査 いいえ はい なし このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は以下のとおりです。
  • なし
  • 内容と値
  • 内容
  • 継承
validateMaster
失敗時の処置 いいえ いいえ 例外 このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は以下のとおりです。
  • ユーザー・トレース
  • ローカル・エラー・ログ
  • 例外
  • 例外リスト
 
ノードのモニター・プロパティーが、次の表に説明されています。
プロパティー M C デフォルト 説明
イベント いいえ いいえ なし ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。

「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:16


参照トピック参照トピック | バージョン 8.0.0.5 | ac67350_