Oracle® Fusion Middleware Oracle WebLogic Server RESTful Webサービスの開発と保護 12c (12.2.1) E69940-01 |
|
![]() 前 |
![]() 次 |
この章では、Jersey 2.x Java API for RESTful Web Services (JAX-RS) 2.0参照実装(RI)を使用して、Representational State Transfer (REST)アーキテクチャ・スタイルに従ったJava EE Webサービス・クライアントを開発する方法について説明します。
注意: 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サービスを呼び出す場合に使用できる簡単な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>