セキュリティ・スキームが不要な場合のGroovyからの外部SOAP Webサービスのコール
この例では、インターネット上の外部SOAP webサービスへの接続を作成し、アプリケーション・コンポーザで使用されるGroovyスクリプトからWebサービスをコールする方法を示します。 webサービスは保護されていません。
この例では、webサービスを使用してカスタム・フィールドのデフォルト値が計算されます。
次の表に、このシナリオの主な決定がまとめます。
検討事項 |
この例の場合 |
---|---|
webサービス接続に使用する名前は? |
mathsws |
使用するWeb Services Description Language (WSDL)ファイルのURLは何ですか。 |
http://external-hosted:7101/MathsWS-Model-context-root/NoSecurity?wsdl ノート:
ここに示すURLは、任意の例です。 サービス・プロバイダから実際のWSDL URLを取得する必要があります。 |
webサービスはどこから呼び出されますか。 |
カスタム・フィールドのデフォルト値の計算に使用されるGroovyスクリプト式から。 |
Groovyスクリプトから呼び出されるwebサービス・メソッドはどれですか。 |
getSum このメソッドは、2つの整数引数値の合計を返します。 |
セキュリティ・スキームが不要な場合にGroovyスクリプトからwebサービスを呼び出すには、次のタスクを実行します:
-
webサービス接続を作成します。
-
webサービス・コールをGroovyスクリプトに追加し、コールが成功したことを確認します。
前提要件
次の前提条件ステップが完了していることを確認します:
-
webサービス・プロバイダから使用するWSDL URLの詳細を取得します。
-
計算されたデフォルト値を持つオブジェクトのカスタム・フィールドを作成します。
-
フィールドのデフォルト値の計算に使用される式のGroovyスクリプトを準備します。 Groovyコードでは、引数値を準備する必要があります。この例では、合計される2つの値です。
Webサービス接続の作成
webサービス接続を作成する場合は、Webサービスの名前、WSDLファイルのURLおよびセキュリティ・スキーム設定を指定します。 この名前は、アプリケーション・コンポーザの式ビルダーでwebサービスのリストで使用される識別子にすぎません。
-
アプリケーション・コンポーザで、「共通設定」ペインで「Webサービス」を選択します。
-
「Webサービス」ページで、新規アイコンをクリックし、SOAPをクリックします。
-
「SOAP Webサービス接続の作成」ページの「名前」フィールドに
mathsws
と入力します。名前にピリオドを含めることはできません。
-
WSDL URLフィールドに
http://external-hosted:7101/MathsWS-Model-context-root/NoSecurity?wsdl
と入力し、「WSDLの読取り」をクリックします。「WSDLの読取り」をクリックすると、「サービス」および「ポート」フィールドがWSDLファイルの値に従って入力されます。 「セキュリティ・スキーム」で、「なし」ラジオ・ボタンが有効になり、選択されます。
-
「保存してクローズ」をクリックします。
webサービス接続が作成され、名前とWSDL URLが「Webサービス」ページにリストされます。
GroovyスクリプトへのWebサービス・コールの追加
Groovyスクリプトを作成または編集するときに表示される「式ビルダー」ダイアログには、接続を作成したwebサービスをリストする「Webサービス」タブがあります。 webサービスごとに、Groovyスクリプトで使用可能なメソッドへのコールを含めることができます。
-
アプリケーション・コンポーザで、webサービス・コールを含む式を使用するカスタム・フィールドを編集します。
-
「式ビルダー」アイコンをクリックします。
-
「式ビルダー」ダイアログで、「Webサービス」タブを選択します。
-
「Webサービス」リストから
mathsws
を選択します。 -
「関数」リストからgetSumを選択します。
-
webサービス・コールを挿入するスクリプト内の位置にカーソルを置きます。
-
「挿入」をクリックして、webサービス・メソッドを呼び出すコードを挿入します。
-
webサービス・コールの引数として2つの整数値が指定されるようにスクリプトを更新します。
-
「送信」をクリックします。
-
webサービス・コールが成功することを確認します。この例では、カスタム・フィールドに予想されるデフォルト値が必要です。