【Talend】tSOAPでWebサービスをコールする【前編】~呼び出し~

はじめに

今回は、TalendでSOAP通信する方法についてまとめました。
まずは、前編として、SOAP通信を行うところまでやっていきます。
後編は、SOAPのresponseのXMLを解析して、欲しい情報を抽出する部分をやっていこうと思います。

SOAP通信ジョブを作る

Talend上で、SOAP通信を行うためには、tSOAPコンポーネントを使用します。
呼び出すサービスなのですが…準備が大変だったので、今回はデ辞蔵さんの辞書検索サービスを使用させて頂くことにしました。

SOAP連携テスト用の便利ツール、「SOAP UI」を入れておく

唐突ですが、SOAP UIというツールをインストールしましょう。
これは、SOAP実行をGUIで簡単に行える、というツールです。
もちろん、SOAP実行のテストツールとして使っても良いですが、
Request, ResponseのXMLを簡単に取り出せるのと、各種コンポーネントへの設定情報を簡単に取得できるので便利です。

インストール手順, 詳しい使い方などは割愛します。

tSOAPを設定してSOAP連携する

では、tSOAPの設定を行い、とりあえずのSOAP連携ができるJobを作ってみます。(作ってみました)

tSOAPコンポーネントの設定は下記の通りです。

ここで、必須設定は、
・ENDPOINT
・SOAP Action
・SOAP Message
です。

ENDPOINT

サービスが何処にあるかを指定します。
SOAP UIでは、新規作成したプロジェクトの左側+マークを一回押して、開いた凹レンズのようなアイコンの部分で右クリックし、
Service Endpointsタブに表示されているURLをセットしてあげます。

SOAP Action

ENDPOINTを知るために開いたタブの、一つ左隣にあるOvervierタブのOperationsにあるActionをセットします。

いくつか選択肢がありますが、今回は、デ辞蔵さんの辞書検索サービスの使い方に従い、一番最初にコールするGetDicListのActionを実行します。
ので、赤線部分のものをtSOAPに設定しました。

SOAP Message

サーバ側に渡したいRequestとなるXML文字列をセットします。
この文字列は、SOAP UIのRequestを開いた時に左側で表示されているXMLをベースに作ればOKです。
また、後篇で登場しますが、入力パラメータが複雑な場合は、tXMLMapを使用してRequestを組み立てるとよいです。
今回は、とても簡単なリクエストなので、このコンポーネント内に文字列を直接書きます。
ダブルクォートにはエスケープが必要です。

Responseを確認

SOAP通信の設定が完了したら、動作確認をしましょう。
tLogRowをtSOAPコンポーネントに繋ぎます。

問題無くtSOAP設定ができていれば、Webサービスの呼出結果が表示されるはずです。

今回は、とりあえず呼び出す所までです。
次回は、取得したXMLを解析して、Rowデータとして扱う部分をやっていこうと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です