サンプル: WSDL-スタイル Web サービスの呼び出し

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  Web サービスの呼び出し >

サンプル: WSDL-スタイル Web サービスの呼び出し

以下のサンプルでは、 MapForce により実装された Web サービスを呼び出します。このサンプルはデモを行うために作成されたもので、互換性のあるプロトコルを使用したその他テクノロジーにより実装された Web サービスを呼び出すことも可能です。

 

<マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\TimeService フォルダーに含まれている TimeService.mfp マッピングプロジェクトの一部を以下に示します。 <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\TimeserviceWsdl2 フォルダーに含まれている、TimeService2.mfp プロジェクトファイルでは WSDL 2.0 もサポートされます。

 

 

Web サービスがどのように実装されているかをビューする:

1.<マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Timeservice フォルダーに含まれている TimeService.mfp ファイルを開きます。プロジェクトに関連したファイルはプロジェクトウィンドウ内にロードされます。

mf_timeservice_01

2.プロジェクトウィンドウ内の getCityTime.mfd エントリ をダブルクリックします。

mf_timeservice_02

 

getCityTime.mfd マッピングは、都市の名前を入力として受け、現在の時刻を出力として返します。都市が "Boston" ではない場合、 WSDL フォールトが返されます。 <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\TimeService ディレクトリ内にある getCityTimeRequest.xml ファイルから入力データをマッピングは取得します。getCityTimeSoapIn コンポーネントをダブルクリックすると、このファイルがデータソースとして設定されていることを確認できます。

 

この例のスコープのために、この特定の Web サービス プロジェクトは既にコンパイルされ、このサンプルで次のステップとして呼び出される実在の Web サーバーにデプロイされていると仮定します。http://nanonull.com/TimeService/TimeService.asmx でこの目的のためのデモオンラインサービスを使用することができます。MapForce を使用してこのような Web サービスを作成するには、例: SOAP Web サービスの生成 (C#)例: SOAP Web サービスの生成 (Java)を参照してください。

 

Web サービスをマッピングに追加する方法:

1.「ファイル | 新規作成」  を選択して、「マッピング」 アイコン  をクリックし、「OK」をクリックします。
2.メニュー オプション 「挿入 | Web サービス関数... 」 を選択、または   ic-wsdl-func ツールバー をクリックします。
3.WSDL 定義ファイルを選択するために 「参照」  をクリックします。TimeService ディレクトリから TimeService.wsdl を選択し、「開く」 ボタンクリックします。
4.Web サービスエンドポイントを選択するように問われると、TimeServiceSoap をクリックします。

mf_timeservice_03

5.Web サービス操作を選択するように問われると、 getCityTime をクリックします。

mf_timeservice_04

6.Web サービス呼び出し設定の設定を変更せず、 「OK」 をクリックします。更に詳しい情報に関しては、Web サービス呼び出し設定を参照してください。

 

getCityTime Web サービス関数は、単一コンポーネントとして挿入されます。WSDL プロジェクト内で保存されたとおりに getCityTime.mfd ファイルを構成する 8つすべてのコンポーネントを示していることに注意してください。

mf_timeservice_05

.wsdl ファイル内で、以下のうちの1つが定義されている場合、コンポーネントの左側でデータ入力 データ入力 (SoapIn) が定義され、フォールトのセクションを含んでいる可能性がある右側でデータ出力 (SoapOut) が定義されます。

 

 

Web サービスを呼び出す方法:

1.たとえば、 定数、テキスト、 またはスキーマコンポーネント、入力データを提供するためのコンポーネントを挿入します。この例のスコープのたえめに、定数コンポーネントを挿入して、 "Boston" 入力文字として挿入します。

mf_timeservice_06

2.定数を n0:city アイテムに接続します。
3.単純型出力コンポーネントを挿入します (関数 メニューから、「出力の挿入」 をクリックします)。
4.n0:getCityTimeResult を出力コンポーネントに接続します。

mf_timeservice_07

5.マッピング上の "getCityTime" コンポーネントを右クリックし、プロパティを選択します。Web サービス呼び出し設定ダイアログが開かれます。 http://nanonull.com/TimeService/TimeService.asmxURL ボックスに入力します (これは MapForce により作成されるデモオンライン Web サービスです。 SOAP Web サービスの実装を参照してください)。
6.出力 タブをクリックします。下に示されるように、ボストンの現在の時間が出力ペインに表示されます。

mf_timeservice_08

メモ:Web サービス関数の入力値は、 元のマッピングのデータソースを優先します。t例えば、 定数コンポーネントの値 "Boston" は、元のマッピング内の getCityTimeRequest.xml データソースファイルを優先します。

 

 

Web サービス のマップに失敗した場合:

1.挿入 | 例外 を選択、または  ツールバーボタン ic-except.クリックします。
2.Fault: アイテムを例外コンポーネントの throw アイテムにマップします。
3.n1:errorText アイテムを 例外コンポーネントの error-text アイテムにマップします。

mf_timeservice_09


(C) 2019 Altova GmbH