JAX-RS 2.0 クライアントの構成
Java API for XML RESTful Web Services 2.0 の場合、クライアントが REST エンドポイントにアクセスするように構成できます。JAX-RS 2.0 では標準化された新しい Client API が導入され、リモート RESTful Web サービスに HTTP 要求を行うことができるようになりました。
このタスクについて
手順
次のタスク
- com.ibm.ws.jaxrs.client.timeout クライアント・プロパティーを使用して、
タイムアウト値を設定します。
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.timeout", "1000"); Client c = cb.build();
ヒント: タイムアウト・プロパティーの値はミリ秒単位であり、タイプは long または int です。値のタイプが無効な場合、次のメッセージが表示されます。CWWKW0700E: The timeout value {0} that you specified in the property com.ibm.ws.jaxrs.client.timeout on the JAX-RS Client side is invalid. The value is set to default 30000. 3}
- com.ibm.ws.jaxrs.client.connection.timeout クライアント・プロパティーと
com.ibm.ws.jaxrs.client.receive.timeout クライアント・プロパティーを使用して、タイムアウト値を設定します。
- com.ibm.ws.jaxrs.client.connection.timeout
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.connection.timeout", "1000"); Client c = cb.build();
- com.ibm.ws.jaxrs.client.receive.timeout
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.receive.timeout", "1000"); Client c = cb.build();
ヒント: タイムアウト・プロパティーの値はミリ秒単位であり、タイプは long または int です。値のタイプが無効な場合、次のメッセージが表示されます。CWWKW0700E: The timeout value {0} that you specified in the property com.ibm.ws.jaxrs.client.receive.timeout on the JAX-RS Client side is invalid. The value is set to default 30000. {3}
- com.ibm.ws.jaxrs.client.connection.timeout
- com.ibm.ws.jaxrs.client.timeout クライアント・プロパティーを使用して、
タイムアウト値を設定します。
- クライアント・プロキシー・サポートに関する次のクライアント・プロパティーを使用します。
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.proxy.host", "hostname"); cb.property("com.ibm.ws.jaxrs.client.proxy.port", "8888";); cb.property("com.ibm.ws.jaxrs.client.proxy.type", "HTTP"); Client c = cb.build();
- com.ibm.ws.jaxrs.client.proxy.host
- com.ibm.ws.jaxrs.client.proxy.portヒント: プロキシー・サーバー・ポート値のタイプは int でなければなりません。デフォルト値は 80 です。値のタイプが無効な場合、次のメッセージが表示されます。
CWWKW0701E: The proxy server port value {0} that you specified in the property com.ibm.ws.jaxrs.client.proxy.port on the JAX-RS Client side is invalid. The value is set to default 80. {3}
- com.ibm.ws.jaxrs.client.proxy.typeヒント: プロキシー・サーバー・タイプの値は HTTP または SOCKS でなければなりません。デフォルト値は HTTP です。プロキシー・サーバーのタイプが無効な場合、次のメッセージが表示されます。
CWWKW0702E: The proxy server type value {0} that you specified in the property com.ibm.ws.jaxrs.client.proxy.type on the JAX-RS Client side is invalid. The value is set to default HTTP. {3}
- com.ibm.ws.jaxrs.client.ltpa.handler クライアント・プロパティーを使用して、SSO Cookie を設定し、値を true に設定します。
JAX-RS 2.0 で Secure Sockets Layer (SSL) 機能を使用する場合、ssl-1.0 フィーチャーまたは appSecurity-2.0 フィーチャーを有効にする必要があります。LTPA トークン機能では、appSecurity-2.0 フィーチャーを有効にする必要があります。ClientBuilder cb = ClientBuilder.newBuilder(); Client c = cb.build(); c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
IHS を介して SSL を使用する JAX-RS 2.0 クライアントの実行環境を構成する方法について詳しくは、『Configuring IBM HTTP サーバーの SSL サポート』を参照してください。
注: ssl-1.0 フィーチャーは、appSecurity-2.0 フィーチャーのサブフィーチャーです。jaxrsClient-2.0 フィーチャーと ssl-1.0 フィーチャーを有効にすると、appSecurity-2.0 フィーチャーが自動的に有効になります。 - com.ibm.ws.jaxrs.client.ssl.config クライアント・プロパティーを使用して、server.xml ファイルの SSL 参照 ID を設定します。
IHS の鍵ファイルから証明書を抽出し、それを Liberty の JKS ファイルに追加することにより信頼を確立することについて詳しくは、『SSL ハンドシェーク中に Web サーバーを認証するために必要な鍵データベース・ファイルと証明書の作成 (Create a key database file and certificates needed to authenticate the Web server during an SSL handshake)』を参照してください。ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.ssl.config", "mySSLRefId"); Client c = cb.build();
注: server.xml 内の構成は次のようになります。<ssl id="mySSLRefId" keyStoreRef="clientKeyStore" trustStoreRef="clientTrustStore" />
- com.ibm.ws.jaxrs.client.disableCNCheck クライアント・プロパティーを使用して、
共通名のチェックを無効にします。
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.disableCNCheck", true);