Hello World応答を返す - Cloud - 8.0

ESB SOAP

Version
Cloud
8.0
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 Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ESBコンポーネント > ESB SOAPコンポーネント
データガバナンス > サードパーティーシステム > ESBコンポーネント > ESB SOAPコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > ESBコンポーネント > ESB SOAPコンポーネント

このシナリオは、Talend Open Studio for ESB、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になります。

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

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

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

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

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

  • [Edit schema](スキーマの編集)の横にある3ドットのボタンをクリックすると、スキーマを表示できます。

  • tESBProviderRequest_1tLogRow_1に接続します。

  • tLogRow_1をダブルクリックして、その[Component] (コンポーネント)ビューを表示し、[Basic settings] (基本設定)を設定します。

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

  • 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] (スキーマを編集) の横にある3ドットのボタンをクリックして、次のようにスキーマを定義します。

  • tLogRow_2tESBProviderResponse_1に接続します。

  • デザインワークスペースでtESBProviderResponse_1をダブルクリックして、その[Component] (コンポーネント)を開いて、[Basic settings] (基本設定)を設定します。

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

  • プロバイダージョブを保存します。

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

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

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

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

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

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

  • [Number of rows] (行数)フィールドに行数1を設定します。

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

  • tFixedFlowInputtXMLMapに接続します。

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

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

  • payloadテーブルで、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] (サービス設定)フィールドの横の3ドットのボタンをクリックし、エディターを開きます。

  • [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] (スキーマを編集) の横にある3ドットのボタンをクリックして、次のようにスキーマを定義します。

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

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

  • コンシューマージョブを保存します。

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

    2011-04-21 15:28:26.874:INFO::jetty-7.2.2.v20101205

    2011-04-21 15:28:27.108:INFO::Started

    SelectChannelConnector@127.0.0.1:8088

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

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

    Starting job CallProvider at 15:29 21/04/2011.
    
    [statistics] connecting to socket on port 3690
    [statistics] connected
    TEST_ProviderJob
    TEST_ProviderJobSoapBingding
    |
    {http://talend.org/esb/service/job}TEST_ProviderJob
    {http://talend.org/esb/service/job}TEST_ProviderJobSoapBinding
    invoke
    [tLogRow_2] payload: <?xml version="1.0" encoding="UTF-8"?>
    <response xmlns="http://talend.org/esb/service/job">Hello, world!</response>
    [statistics] disconnected
    Job ConsumerJob ended at 15:29 21/04/2011. [exit code=0]
  • プロバイダーのログにトレースログが表示されます。

    [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 ProviderJob ended at 15:29 21/04/2011. [exit code=0]