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

プライベートWSDLファイルからの顧客情報の抽出

このシナリオでは、顧客情報を抽出するためにプライベートWSDLファイルに接続する3コンポーネントジョブについて説明します。

このジョブで使用するWSDLファイルは、SSLプロトコル下で対応するWebサービスにアクセスします。この目的のために、このファイル内の最も相対的なコードは次のようになります。

<wsdl:port name="CustomerServiceHttpSoap11Endpoint"
binding="ns:CustomerServiceSoap11Binding">
            <soap:address location="https://192.168.0.22:8443/axis2/services/CustomerService.CustomerServiceHttpSoap11Endpoint/"/>
        </wsdl:port>

したがって、Tomcatのserver.xmlファイルに次のコードを入力します。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="true" sslProtocol="TLS" 
     keystoreFile="D:/server.keystore" keystorePass="password"
     keystoreType="JKS"
     truststoreFile="D:/server.p12" truststorePass="password"
     truststoreType="PKCS12"
    />

そのため、このWSDLファイルに接続するためのKeystoreファイルが必要です。このジョブを複製するには、次の手順に従います。

  • tSetKeyStoretWebServicetLogRowという各コンポーネントを[Palette] (パレット)からデザインワークスペースにドロップします。

  • tSetKeyStoreを右クリックし、コンテキストメニューを開きます。

  • このメニューで[Trigger] (トリガー) > [On Component Ok] (コンポーネントがOKの場合)を選択して、このコンポーネントをtWebServiceに接続します。

  • tWebServiceを右クリックし、コンテキストメニューを開きます。

  • このメニューで[Row] (行) > [Main] (メイン)を選択して、このコンポーネントをtLogRowに接続します。

  • tSetKeyStoreをダブルクリックして、その[Basic settings] (基本設定)ビューを開き、コンポーネントのプロパティを定義します。

  • [TrustStore type] (TrustStoreタイプ)フィールドのドロップダウンリストから[PKCS12]を選択します。

  • [TrustStore file] (TrustStoreファイル)フィールドで、対応するTrustStoreファイルを参照します。ここでは、server.p12です。

  • [TrustStore password] (TrustStoreパスワード)フィールドで、このTrustStoreファイルのパスワードを入力します。このサンプルでは、passwordです。

  • [Need Client authentication] (クライアント認証が必要)チェックボックスをオンにして、Keystore設定フィールドを有効化します。

  • [KeyStore type] (KeyStoreタイプ)フィールドのドロップダウンリストから[JKS]を選択します。

  • [Keystore file] (Keystoreファイル)フィールドで、対応するKeystoreファイルを参照します。ここでは、server.keystoreです。

  • tWebServiceをダブルクリックしてコンポーネントエディターを開くか、[Basic settings] (基本設定)ビューで[Service configuration] (サービス構成)の横にある[...]ボタンをクリックしてデザインワークスペースでコンポーネントを選択します。

  • [WSDL]フィールドで、使用するプライベートWSDLファイルを参照します。このサンプルでは、CustomerService.wsdlです。

  • [WSDL]フィールドの横にある更新ボタンをクリックして、WSDLの説明を取得し、それを後続のフィールドに表示します。

  • このサンプルでは、[Port Name] (ポート名)リストで、使用するポートCustomerServiceHttpSoap11Endpointを選択します。

  • [Operation] (操作)リストで、使用するサービスを選択します。このサンプルでは、選択されるサービスはgetCustomer(parameters):Customerです。

  • [Next] (次へ)をクリックし、エディターで新しいビューを開きます。

[Input mapping] (入力マッピング)ビューの右パネルに、サービスの入力パラメーターが自動的に表示されます。ただし、[[+] parameters] ([+]パラメーター)を選択した場合、他のパラメーターを追加でき、上部のプラスボタンをクリックすると、[Parameter Tree] (パラメーターツリー)ダイアログボックスが表示され、そこから任意のパラメーターを選択できます。

この例のWebサービスにはIDという入力パラメーターが1つだけあります。

  • parameters.ID行の[Expression] (式)カラムに、対象の顧客IDを引用符で囲んで入力します。このサンプルでは、A00001です。

  • [Next] (次へ)をクリックし、エディターで新しいビューを開きます。

[Element] (エレメント)リストに、Webサービスの出力パラメーターが自動的に表示されます。ただし、[[+] parameters] ([+]パラメーター)を選択した場合、他のパラメーターを追加でき、上部のプラスボタンをクリックすると、[Parameter Tree] (パラメーターツリー)ダイアログボックスが表示され、そこから任意のパラメーターを選択できます。

この例のWebサービスにはreturn.addressreturn.emailreturn.namereturn.phoneという4つの出力パラメーターがあります。

定義済みのWebサービスの出力パラメーターと出力コンポーネントのスキーマ間に接続を作成する必要があります。この操作は次の手順で行います。

  • ビューの右パネルで[Edit Schema] (スキーマを編集)の横にある[...]ボタンをクリックしてダイアログボックスを開くと、出力スキーマを定義できます。

  • [Edit Schema] (スキーマを編集)で、プラスボタンをクリックし、4つのカラムを出力スキーマに追加します。

  • 各カラム(このサンプルではNamePhoneEmailAddress)をクリックして新しい名前を入力します。これで、対象の顧客情報を取得できます。

  • [OK]をクリックし、変更を有効にし、スキーマ編集ダイアログボックスを閉じます。

  • エディターの右側にある[Element] (エレメント)リストで、スキーマ編集ダイアログボックスで定義したカラムに対応するフィールドに各パラメーターをドラッグします。

情報メモ注:

使用可能な場合は、[Auto map] (自動マップ)ボタン(インターフェイスの左下にあるボタン)を使用すると、マッピング操作を自動的に実行できます。

  • [OK]をクリックして変更を有効にし、エディターを閉じます。

  • デザインワークスペースでtLogRowをダブルクリックして、その[Basic settings] (基本設定)ビューを開き、プロパティを定義します。

  • [Sync columns] (カラムを同期)をクリックして、先行のコンポーネントからスキーマを取得します。

  • ジョブを保存し、F6を押して実行します。

ID A00001の顧客の情報が返され、 Talend Studio のコンソールに表示されます。

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

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