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

ESB SOAP

Version
7.3
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ESBコンポーネント > ESB SOAPコンポーネント
データガバナンス > サードパーティーシステム > ESBコンポーネント > ESB SOAPコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > ESBコンポーネント > ESB SOAPコンポーネント
Last publication date
2024-02-22

このシナリオは、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]