GroovyスクリプトのSOAP Webサービス参照
アプリケーション・コンポーザで使用するGroovyスクリプトには、内部および外部の両方のSOAP webサービスへのコールを含めることができます。
スクリプトでコールするwebサービスごとに、Webサービス記述言語(WSDL)ファイルのロケーションと、Webサービスへのアクセスに使用されるセキュリティ・スキーム(ある場合)を指定するWebサービス参照を設定する必要があります。
webサービス参照を作成するには、アプリケーション・コンポーザで次の手順を実行します:
-
「共通設定」ペインで「Webサービス」を選択します。
-
「Webサービス」ページで、「新規」アイコンをクリックし、SOAPを選択します。
-
webサービス接続の名前を指定します。
-
webサービスのWSDLファイルのURLを指定します。
ノート:保護されたWSDLはサポートされていません。
-
webサービスのセキュリティ・スキームに必要なユーザーおよびパスワード資格証明を指定します。 サポートされているスキームについては、後述の「Webサービスのセキュリティ値の指定」を参照してください。
ノート:セキュリティの問題により、WSSセキュリティ・ユーザー名とパスワードは非SSL webサービスではサポートされていません。
webサービス参照を作成すると、式ビルダーの「Webサービス」タブで使用可能なリストにWebサービスの名前が表示されます。 リストからwebサービスを選択すると、Groovyスクリプトで使用するWebサービスが提供する任意の機能を選択できます。
既存のwebサービス参照を編集して、使用するセキュリティ・スキームや特定のセキュリティ・スキームに使用される設定を変更できます。
webサービス参照を管理する場合は、「Webサービス」ページの「リフレッシュ」アイコンをクリックして、リストが最新であることを確認します。 「リフレッシュ」をクリックする必要がある場合の詳細は、後述の「Webサービス参照のリストのリフレッシュ」を参照してください。
変数名の指定
webサービス参照を作成する場合は、「SOAP Webサービス接続の作成」ページで変数名を指定します。 この名前は、式ビルダーのwebサービスのリストで使用される識別子にすぎません。
WSDL URLの指定
webサービスのWSDLファイルは、次を含むWebサービスに関する情報を提供します:
-
Service. webサービスの1つ以上のポートを定義します。
-
Port. webサービスへのアドレスまたは接続エンドポイントを定義します。
サービスおよびポートごとに、1つ以上のセキュリティ・ポリシーが関連付けられている場合があります。
WSDL URLを指定するには:
-
「SOAP Webサービス接続の作成」ページで、WSDLファイルをURL形式で入力します。次に例を示します:
http://internal-hosted:7101/MathsWS-Model-context-root/UsernameTokenSecurity?wsdl
-
「WSDLの読取り」をクリックします。
「サービス」、「ポート」および「セキュリティ・スキーム」フィールドは、WSDLで検出された内容に基づいて移入されます。 複数のサービスおよびポートが定義されている場合、「サービス」および「ポート」フィールドには、選択したWSDLで最初に見つかったサービスおよびポートがあります。
-
このwebサービスに別のサービスおよびポートが必要な場合は、「サービス」および「ポート」で適切な値を選択します。
特定のサービスおよびポートを選択すると、WSDLで定義されたセキュリティ・ポリシーに基づいてデフォルトのセキュリティ・スキームが選択されます。
ポート番号を省略すると、サービスはデフォルトのHTTPポート番号80でリスニングしているとみなされます。
WSDLを登録するときは、Oracleネットワークからアクセスできるように、URLがプロキシ内の許可リストに追加されていることを確認します。
Webサービスのセキュリティ値の指定
SOAP webサービスとのセキュアな通信のために、ユーザー資格証明を認証し、セキュリティを確保するために様々なスキームを使用できます。 GroovyスクリプトからのSOAP webサービスでは、次のスキームがサポートされています。 各オプションの上にカーソルを置くと、関連付けられたWSDLセキュリティ・ポリシーが表示されます。
-
なし
-
基本認証を使用して起動
-
SSL経由で個別のユーザー資格証明を使用してコール
-
個別のユーザー資格証明およびメッセージ保護を使用して起動
-
SAMLを使用してユーザー・アイデンティティを伝播
-
SAMLおよびメッセージ保護を使用してユーザー・アイデンティティを伝播
webサービスをコールするGroovyスクリプトと同じ環境でWebサービスがホストされている場合、セキュリティ値として指定した個別のユーザー名とパスワード資格証明は、フローがトリガーされたときに上書きされます。 かわりに、更新は、webサービスに登録されたユーザーではなく、実際にGroovyスクリプトをコールしたサインイン・ユーザーによって行われたとおりに記録されます。
「SOAP Webサービス接続の作成」ページで、ユーザー名とパスワードの資格証明を必要とするセキュリティ・スキームの資格証明キーを指定します。 webサービス・プロバイダは、特定のWebサービスに使用する必要がある資格証明について通知します。
セキュリティ設定エラーの解決
一部のセキュリティ設定が実行されていない場合、エラーが発生する可能性があります。 たとえば、webサービス参照を作成しようとすると、SSL証明書エラーが発生する場合があります。 この場合、次のようになります。
-
サーバーのCA SSL証明書をサービス・プロバイダから取得し、証明書チェーンがWSDLホストで適切であることを確認します。 自己署名証明書を使用しないでください。
-
OPSSキーストア・サービスに証明書を追加します。 キーストア・サービスを使用すると、SSL、メッセージ・セキュリティ、暗号化および関連タスクのキーおよび証明書を管理できます。 キーストア・サービスを使用して、キー、証明書およびその他のアーティファクトを含むキーストアを作成および保守します。 顧客証明書のインポートは必要ありません。
また、セキュアな接続(https)を使用し、デフォルト・ポート(443)を使用します。
webサービスがGroovyスクリプトからコールされると、エラーを受け取ることもあります:
-
メッセージ保護が使用されている場合の不正な暗号化エラー
-
メッセージ保護セキュリティが使用されている場合のPolicyEnforcementExceptionエラー。
これらのエラーについては、Oracle Supportを使用してサービス・リクエストを作成してエラーを解決する必要もあります。 サーバーの暗号化証明書と発行者証明書をサービス・プロバイダから取得し、WSDLのロケーションとエラーの詳細とともにサービス・リクエストに添付する必要があります。
GroovyからのWebサービス・コールの作業例の使用
webサービス接続を作成し、GroovyスクリプトからWebサービスをコールする作業例は、次の「関連リンク」にリストされている別のトピックで説明しています。
このトピックでは、内部および外部の両方のwebサービスに対するコールでサポートされている様々なセキュリティ・スキームについて説明します。 トピックには、必要に応じてセキュリティ設定エラーを解決するために管理者に連絡する方法に関する情報が含まれています。
Webサービス参照のリストのリフレッシュ
webサービスに対して新しいメソッドが追加された場合、Webサービス参照が更新されるように、「Webサービス」ページで「リフレッシュ」をクリックする必要があります。 そうしないと、式ビルダーで新しいメソッドをwebサービスで使用できなくなります。
リフレッシュ処理は、クライアントとのサービス契約が変更されるたびに適用されます。 これにより、新しいメソッド、既存のメソッドのシグネチャの変更、および既存のメソッドの削除が発生する可能性があります。
「リフレッシュ」をクリックして、別のユーザー・セッションで作成された新しいwebサービス参照を表示することもできます。
アプリケーションの変更の移動
ソース環境で行ったアプリケーション変更をダウンロードし、ターゲット環境にアップロードできます。 これにより、複数の環境にわたる変更を作業する際の時間を節約できます。
これを行うには、次の手順を実行します:
-
「構成セット移行」ページを使用して、アプリケーション環境に対するすべての変更および拡張のセットを作成します。
-
続いて、その構成セットをダウンロードし、別の環境にアップロードします。
多くの場合、これは構成セットの移行(CSM)と呼ばれます。
参照: 「アプリケーション変更の移動」。
ただし、ソース環境のアプリケーション・コンポーザで作成されたwebサービス参照は、移行後にターゲット環境で機能しません。 したがって、構成セットをターゲット環境にアップロードした後、ターゲット環境でアプリケーション・コンポーザを使用してwebサービス参照を再作成する必要があります。
移行プロセス中に、2つの環境間でアプリケーションの変更を比較することもできます。 これを行うには、構成デルタ・レポートを使用します。 このレポートを使用すると、構成の違いを確認できるため、ある環境で発生するが別の環境では発生しない問題を簡単にトラブルシューティングできます。 詳細は、「構成の移行」を参照してください。