WSDL、エンドポイントおよびメッセージ

WSDLは、Webサービスを記述するWebサービス定義言語ファイルです。新しいサービスでは、WSDLを利用して要求と応答の構造を決定する必要があります。リモート・サービスの場合は、サービスにアクセスするための場所が含まれています。リモート・サービスとローカル(ホストされている)サービスの場合、ファイルには、名前、引数、例外、入出力メッセージの構造などの各Webサービスの定義が含まれます。

Oracle Serivce Oriented Architecture (SOA)では、WSDLはサービスまたは参照として分類されることがあります。サービスはSOAサーバー上でホストされます。つまり、Webサービスの実装はローカル・アプリケーション・サーバー上にあります。参照されるサービスは、別のサーバー上に実装されます。この区別は、コンポジット・レベルにも関連します。サービスは、現在のコンポジットに実装されます。参照は他の場所に配置され、同じアプリケーション・サーバー上にある可能性もありますが、コンポジットは異なります。

エンドポイントは、単にWebサービスのURLです。WebサービスはHTTP経由で通信するため、それぞれに一意のURLがあります。サービスのエンドポイントが既知の場合、メッセージ・サービスはそれにターゲットを指定できます。

WSDLおよびエンドポイントの検索方法

インストールされているアダプタでWSDLを検索する方法は2つあります。Enterprise Managerを使用する方法と、直接URLを使用する方法です。この方法ではホストされているWSDLのみを検索できます。参照される(リモート) WSDLは、ソース・コードに配置されているか、ホストされている場所から取得する必要があります。

Enterprise Managerを使用してWSDLとエンドポイントを検索する方法:

  1. Enterprise Managerを開き、ナビゲーション・ペインを使用して目的のコンポジットのダッシュボードを開きます。

  2. ダッシュボードの上部のバーには、複数のボタンとアイコンが含まれています。これらの1つは地球アイコンで、その上にパズル・ピースがあります。このアイコンをクリックして、コンポジットのWSDLとエンドポイントのURIを表示します。

  3. URLリンクをクリックしてブラウザでWSDLを表示するか、右クリックして新しいサービスの開発時に使用できるようにマシンに保存します。

    要件によっては、関連付けられているスキーマまたはWSDLファイルのダウンロードが必要になる場合があります。スキーマは、WSDLのtypes要素内で使用できます。import要素内で関連付けられているWSDL URLを探します。そのURLをブラウザ・タブに貼り付けることができます。

    サービスのエンドポイントもこのウィンドに表示されます。メッセージ・センダー構成に追加する必要があるのは、このURLです。次に例を示します。

    HTTPヘッダー/SOAアクションの値がサービスのWSDLから取得されます。呼び出すWebメソッドのwsdl:definitions/wsdl:binding/wsdl:operation/soap:operation要素を検索します。soapActionという属性にこのフィールドの値が含まれます。このフィールドへのショートカットは、Enterprise Managerのテスト・フレームワークを使用することです(コンポジットのダッシュボード・ビューから「テスト」タブを探します)。WSDLが解析されると、要求タブのフィールドにSOAPアクションが表示されます。

    「HTTPログイン・ユーザー」「HTTPログイン・パスワード」の値をモジュールへのアクセス権を持つ有効なWebLogicユーザーに設定する必要があります。「HTTPメソッド」は常に「POST」に設定し、「HTTP URL 1」は上記のエンドポイントの値に設定する必要があります。

直接URLを使用してWSDLとエンドポイントを検索する方法:

SOAサーバーで使用されるパスを理解すると、Enterprise ManagerなしでWSDLにアクセスできます。一般的に、形式は次のとおりです。

http://{server name}:{port number}/soa-infra/services/{partition}/{Composite}/{Web Service}