メイン コンテンツをスキップする

応答を期待せずにメッセージを送信する

このシナリオは、Talend ESB、Talend Data Services Platform、Talend MDM Platform、Talend Real Time Big Data Platform、Talend Data Fabricにのみ適用されます。

Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。

ESB/Web Servicesファミリー下のコンポーネントに基づいて構築されたジョブは、[Repository] (リポジトリー)[Services] (サービス)ノードで定義されたWebサービスの実装として機能します。これらには関連するサービスの作成と関連付けが必要です。サービスの詳細は、『 Talend Studioユーザーガイド』の関連するトピックをご覧ください。

このシナリオでは、プロバイダージョブとコンシューマージョブが必要になります。一方で、関連するサービスは[Services] (サービス)ノードに既に存在している必要があります。このWSDL URIはhttp://127.0.0.1.8088/esb/provider/?WSDL、ポート名はTEST_ProviderJobSoapBinding、操作はinvoke(anyType):anyTypeになります。

プロバイダージョブは、tESBProviderRequesttXMLMap、および2つのtLogRowコンポーネントで構成されます。

  • [Palette] (パレット)からデザインワークスペースに次のコンポーネントをドロップします。tESBProviderRequesttXMLMap、2つのtLogRow

  • デザインワークスペースでtESBProviderRequest_1をダブルクリックして、その[Component] (コンポーネント)ビューを表示し、[Basic settings] (基本設定)を設定するために使われます。

  • [Property Type] (プロパティタイプ)リストから[Repository] (リポジトリー)を選択し、[...]ボタンをクリックしてポート名と操作の粒度に合わせてサービスを選択します。

  • [OK]をクリックします。

  • [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックして、tESBProviderRequest_1のスキーマを表示します。

  • [OK]をクリックします。

  • tESBProviderRequest_1tLogRow_1に接続します。

  • デザインワークスペースでtLogRow_1をダブルクリックして、その[Component] (コンポーネント)ビューを表示し、[Basic settings] (基本設定)を設定するために使われます。

  • [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックして、次のようにスキーマを定義します。

  • tLogRow_1tXMLMap_1に接続します。

  • tXMLMap_1tLogRow_2に接続し、この行をpayloadという名前にします。

  • デザインワークスペースで、tXMLMap_1をダブルクリックして、[Map Editor] (マップエディター)を開きます。

  • マップエディターの右下にある[+]をクリックして、payloadテーブルに1行を追加し、この行をpayloadという名前にします。

  • このpayload行の[Type] (タイプ)カラムで、[Document] (ドキュメント)をデータ型として選択します。対応するXMLルートは、出力フローを表す右側のトップテーブルに自動的に追加されます。

  • payloadテーブルで、rootを右クリックしてコンテキストメニューを開きます。

  • コンテキストメニューで[Create Sub-Element] (サブエレメントの作成)を選択し、ポップアップダイアログボックスにresponseを入力します。

  • responseノードを右クリックし、コンテキストメニューで[As loop element] (ループエレメントとして)を選択します。

  • この操作を繰り返して入力テーブルのrootノードのサブエレメントrequestを作成し、requestノードをループエレメントとして設定します。

  • 入力テーブルのrequestノードをクリックし、出力テーブルのresponseノードの行の[Expression] (式)カラムにドロップします。

  • [OK]をクリックしてマッピングを検証し、マップエディターを閉じます。

  • デザインワークスペースでtLogRow_2をダブルクリックして、その[Component] (コンポーネント)ビューを表示し、[Basic settings] (基本設定)を設定するために使われます。

  • [Edit Schema] (スキーマを編集)の横にある[...]ボタンをクリックして、次のようにスキーマを定義します。

  • ジョブを保存します。

コンシューマージョブは、tFixedFlowInputtXMLMaptESBConsumer、2つのtLogRow コンポーネントで構成されます。

  • [Palette] (パレット)からデザインワークスペースに次のコンポーネントをドロップします。tFixedFlowInputtXMLMaptESBConsumer、2つのtLogRow

  • デザインワークスペースでtFixedFlowInput_1をダブルクリックして、その[Component] (コンポーネント)ビューを表示し、[Basic settings] (基本設定)を設定するために使われます。

  • tFixedFlowInput_1コンポーネントのスキーマを編集します。

  • [+]ボタンをクリックしてString型の行を新規追加して、payloadStringという名前を付けます。

  • [OK]をクリックします。

  • [Number of rows] (行数)フィールドに行数1を設定するために使われます。

  • [Mode] (モード)エリアで、[Use Single Table] (単一テーブルを使用)を選択し、[Value] (値)フィールドにworldを引用符付きで入力します。

  • tFixedFlowInput_1tXMLMap_1に接続します。

  • tXMLMap_1tESBConsumer_1に接続し、この行をpayloadという名前にします。

  • デザインワークスペースで、tXMLMap_1をダブルクリックして、[Map Editor] (マップエディター)を開きます。

  • 出力テーブルで、rootノードを右クリックしてコンテキストメニューを開きます。

  • コンテキストメニューで[Create Sub-Element] (サブエレメントの作成)を選択し、ポップアップダイアログボックスにrequestを入力します。

  • requestノードを右クリックし、コンテキストメニューで[As loop element] (ループエレメントとして)を選択します。

  • 入力テーブルのpayloadstringノードをクリックし、出力テーブルのrequestノードの行の[Expression] (式)カラムにドロップします。

  • [OK]をクリックしてマッピングを検証し、[Map Editor] (マップエディター)を閉じます。

  • プロバイダージョブを開始します。実行ログには次の情報が表示されます。

    ...
    web service [endpoint: http://127.0.0.1:8088/esb/provider] published
    ...
  • tESBConsumer_1[Component] (コンポーネント)ビューで、[Basic settings] (基本設定)を設定するために使われます。

  • [Service Configuration] (サービス設定)フィールドの横にある[...]ボタンをクリックして、エディターを開きます。

  • [WSDL]フィールドで、http://127.0.0.1:8088/esb/provider?WSDLを入力します。

  • 更新ボタンをクリックし、ポート名と操作名を取得します。

  • [OK]をクリックします。

  • tESBConsumer[Basic settings] (基本設定)で、次のように[Input Schema] (スキーマの入力)を設定するために使われます。

  • [Response Schema] (応答スキーマ)を次のように設定します。

  • [Fault Schema] (フォールトスキーマ)を次のように設定します。

  • tESBConsumer_1tLogRow_1tLogRow_2に接続します。

  • デザインワークスペースでtLogRow_1コンポーネントをダブルクリックして、その[Component] (コンポーネント)を表示し、[Basic settings] (基本設定)を設定するために使われます。

  • [Edit Schema] (スキーマを編集)の横にある[...]ボタンをクリックして、次のようにスキーマを定義します。

  • ジョブでtLogRow_2をダブルクリックして、その[Component] (コンポーネント)を表示し、[Basic settings] (基本設定)を設定するために使われます。

  • [Edit Schema] (スキーマを編集)の横にある[...]ボタンをクリックして、次のようにスキーマを定義します。

  • ジョブを保存します。

  • プロバイダージョブを実行します。実行ログには次の情報が表示されます。

    INFO: Setting the server's publish address to be http://127.0.0.1:8088/esb/provider

    2011-04-21 14:14:36.793:INFO::jetty-7.2.2.v20101205

    2011-04-21 14:14:37.856:INFO::Started

    SelectChannelConnector@127.0.0.1:8088

    web service [endpoint: http://127.0.0.1:8088/esb/provider] published

  • コンシューマージョブを実行します。ジョブの実行ログには次の情報が表示されます。

    Starting job CallProvider at 14:15 21/04/2011.
    
    [statistics] connecting to socket on port 3942
    [statistics] connected
    TEST_ESBProvider2
    TEST_ESBProvider2SoapBingding
    |
    [tLogRow_2] payloadString: <request>world</request>
    {http://talend.org/esb/service/job}TEST_ESBProvider2
    {http://talend.org/esb/service/job}TEST_ESBProvider2SoapBinding
    invoke
    [tLogRow_1] payload: null
    [statistics] disconnected
    Job CallProvider2 ended at 14:16 21/04/2011. [exit code=0]
  • プロバイダーのログにトレースログが表示されます。

    web service [endpoint: http://127.0.0.1:8088/esb/provider]
    published
    [tLogRow_1] payload: <?xml version="1.0" encoding="UTF-8"?>
    <request>world</request>
    ### world
    [tLogRow_2] content: world
    [tLogRow_3] payload: <?xml version="1.0" encoding="UTF-8"?>
    <response xmlns="http://talend.org/esb/service/job">Hello, world!</response>
    web service [endpoint: http://127.0.0.1:8088/esb/provider] unpublished
    [statistics] disconnected
    Job ESBProvider2 ended at 14:16 21/04/2011. [exit code=0]

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。