Oracle® Fusion Middleware Oracle WebLogic Server RESTful Webサービスの開発と保護 12c (12.2.1.1.0) E79317-01 |
|
前 |
次 |
注意:
Jersey 1.18 (JAX-RS 1.1RI)クライアントAPIのサポートは、今回のリリースのWebLogic Serverで非推奨になりましたが、下位互換性のために維持されています。詳細は、Jersey 1.18 (JAX-RS 1.1 RI)を使用したRESTful Webサービス・クライアントの開発を参照してください。
Jersey 2.x (JAX-RS 2.0 RI)クライアントAPIを使用するように(この章の説明を参照)、RESTfulクライアント・アプリケーションを早急に更新することをお薦めします。
この章の内容は次のとおりです:
次の表に、Jersey 2.x (JAX-RS 2.0 RI)を使用してRESTful Webサービス・クライアントを開発する場合に必要なタスクの一部の概要を示します。
表3-1 RESTful Webサービス・クライアントを開発するタスクの概要
タスク | 詳細情報 |
---|---|
|
『Jersey 2.21 User Guide』の「Creating and configuring a Client instance」 |
Webリソースをターゲット指定します。 |
『Jersey 2.21 User Guide』の「Targeting a web resource」 |
WebTargetでリソースを指定します。 |
Jersey 2.21ユーザー・ガイドのWebターゲットでのリソースの特定に関する項 |
HTTPリクエストを呼び出します。 |
『Jersey 2.21 User Guide』の「Invoking a HTTP request」 |
Oracle JDeveloperを使用したRESTful Webサービス・クライアントの開発の詳細は、Oracle JDeveloperによるアプリケーションの開発のRESTful Webサービスおよびクライアントの作成を参照してください。
次に、例2-1で定義されたRESTful Webサービスを呼び出す場合に使用できる簡単なRESTful Webサービス・クライアントの例を示します。この例の内容は次のとおりです。
Client
インスタンスが作成され、WebTarget
が定義されます。
Webリソースにアクセスするためのリソース・パスが定義されます。
Invocation.Builder
を使用してget
リクエストがリソースに送信されます。
レスポンスは文字列値で返されます。
例3-1 Jersey 2.x (JAX-RS 2.0 RI)を使用した簡単なRESTful Webサービス・クライアント
package samples.helloworld.client; ... import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Invocation; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; public class helloWorldClient{ public static void main(String[] args) { Client client = ClientBuilder.newClient(); WebTarget target = client.target("http://localhost:7101/restservice"); WebTarget resourceWebTarget; resourceWebTarget = target.path("resources/helloworld"); Invocation.Builder invocationBuilder; invocationBuilder = resourceWebTarget.request( MediaType.TEXT_PLAIN_TYPE); Response response = invocationBuilder.get(); System.out.println(response.getStatus()); System.out.println(response.readEntity(String.class)); ... } ... }
詳細は、『Jersey 2.21 User Guide』の「Client API」を参照してください。
Oracle Fusion MiddlewareまたはWebLogic Serverがローカルにインストールされていない環境からRESTful Webサービスを呼び出す場合、CLASSPATHにOracle Fusion MiddlewareまたはWebLogic Serverクラスの完全なセットがなくても、スタンドアロン・クライアントJARファイルを使用してWebサービスを呼び出すことができます。
スタンドアロンRESTful Webサービス・クライアントJARは、基本的なJAX-RSのクライアント側の機能およびOWSMセキュリティ・ポリシーをサポートしています。
クライアント・アプリケーションでスタンドアロンのRESTful Webサービス・クライアントJARファイルを使用するには、次の手順を実行します。
Oracle JDeveloperなど好みのIDEを使用して、Java SEクライアントを作成します。詳細は、Oracle JDeveloperによるアプリケーションの開発のWebサービスとクライアントの開発および保護を参照してください。
ファイルORACLE_HOME
/oracle_common/modules/clients/com.oracle.jersey.fmw.client.jar
を、Oracle Fusion Middlewareをホストするコンピュータからクライアント・コンピュータにコピーします。ORACLE_HOME
は、Oracle Fusion Middlewareのインストール時にOracleホームに指定したディレクトリです。
たとえば、クライアント・アプリケーションで使用している他のクラスが格納されているディレクトリにファイルをコピーします。
JARファイルをCLASSPATHに追加します。
注意:
CLASSPATHには、スタンドアロン・クライアントJARファイルで使用されるAntクラスのサブセットを含むJARファイル(ant.jar
)が確実に格納されるようにしてください。このJARファイルは通常、Antディストリビューションのlib
ディレクトリ内にあります。
Oracle Web Services Manager (OWSM)ポリシーの環境を構成します。この手順は省略可能で、RESTful Webサービス・クライアントにOWSMセキュリティ・ポリシーをアタッチする場合にのみ必要です。
必要な構成手順は、アタッチされるポリシーのタイプによって異なります。以下に例を示します。その他の構成要件は、Oracle Platform Security Servicesによるアプリケーションの保護のOPSSを使用するためのJava SEアプリケーションの構成を参照してください。
例: 基本認証
たとえば、oracle/wss_http_token_client_policy
セキュリティ・ポリシーを使用して基本認証をサポートするには、次の手順を実行します。
jps-config-jse.xml
ファイルおよびaudit-store.xml
ファイルを、domain_home
/config/fmwconfig
ディレクトリ(domain_home
はドメインの名前と場所)から、RESTfulクライアントにアクセス可能な場所にコピーします。
手順2でファイルをコピーした場所にウォレット(cwallet.sso
)を作成します。このウォレットには、oracle.wsm.security
という名前のマップと、クライアント・アプリケーションが使用する資格証明キー名(たとえばweblogic-csf-key
)を定義します。
ファイルcwallet.sso
の場所は、構成ファイルjps-config-jse.xml
の<serviceInstance
要素で指定されます。詳細は、Oracle Platform Security Servicesによるアプリケーションの保護のウォレットベースの資格証明ストアの使用を参照してください。
Javaコマンド・ラインで次のプロパティを渡して、手順1でコピーしたJPS構成ファイルを定義します。
-Doracle.security.jps.config=<pathToConfigFile>
詳細は、Oracle Platform Security Servicesによるアプリケーションの保護のシナリオ3: Java SEアプリケーションの保護を参照してください。
例: SSL
たとえば、SSLポリシーをサポートするには、次の手順を実行します。
jps-config-jse.xml
ファイルおよびaudit-store.xml
ファイルを、domain_home
/config/fmwconfig
ディレクトリ(domain_home
はドメインの名前と場所)から、RESTfulクライアントにアクセス可能な場所にコピーします。
Javaコマンド・ラインで次のプロパティを渡して、手順1でコピーしたJPS構成ファイルを定義します。
手順1でコピーしたJPS構成ファイルを定義する:
-Doracle.security.jps.config=<pathToConfigFile>
詳細は、Oracle Platform Security Servicesによるアプリケーションの保護のシナリオ3: Java SEアプリケーションの保護を参照してください。
信頼できる証明書を含むトラスト・ストアを定義する:
-Djavax.net.ssl.trustStore=<trustStore>
詳細は、Oracle Platform Security Servicesによるアプリケーションの保護のLDAPへの一方向SSL接続の設定に記載されている、「Java SEアプリケーションの場合のWebLogic Serverの設定」を参照してください。
トラスト・ストアのパスワードを定義する:
-Djavax.net.ssl.trustStorePassword=<password>