JAX-RS 2.0 クライアントの構成
Java API for XML RESTful Web Services 2.0 では、REST エンドポイントにアクセスするようにクライアントを構成できます。JAX-RS 2.0 では、リモート RESTful Web サービスに HTTP 要求を行えるように、新しい標準化された Client API が導入されています。
このタスクについて
手順
JAX-RS 2.0 クライアントを作成し、要求をサーバーに送信します。
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder();
javax.ws.rs.client.Client c = cb.build();
String res = null;
try {
res = c.target("<Resource_URL>")
.path("<PATH>")
.request()
.get(String.class);
} catch (Exception e) {
res = "[Error]:" + e.toString();
} finally {
c.close();
}
クライアント API での非同期処理について詳しくは、非同期処理または「JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services」(「仕様」) の第 8 章を参照してください。次のタスク
- 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 または整数です。値のタイプが無効の場合、以下のメッセージが表示されます。CWWKW0700E: JAX-RS クライアント・サイドのプロパティー com.ibm.ws.jaxrs.client.receive.timeout で指定されたタイムアウト値 {0} が無効です。値はデフォルトの 30000 に設定されています。{3}
- com.ibm.ws.jaxrs.client.connection.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ヒント: プロキシー・サーバー・ポート値のタイプは整数でなければなりません。デフォルト値は 80 です。値タイプが無効の場合、以下のメッセージが表示されます。
CWWKW0701E: JAX-RS クライアント・サイドのプロパティー com.ibm.ws.jaxrs.client.proxy.port で指定されたプロキシー・サーバー・ポート値 {0} が無効です。値はデフォルトの 80 に設定されています。{3}
- com.ibm.ws.jaxrs.client.proxy.typeヒント: プロキシー・サーバー・タイプの値は、HTTP または SOCKS でなければなりません。デフォルト値は HTTP です。プロキシー・サーバーのタイプが無効の場合、以下のメッセージが表示されます。
CWWKW0702E: JAX-RS クライアント・サイドのプロパティー com.ibm.ws.jaxrs.client.proxy.type で指定されたプロキシー・サーバー・タイプ値 {0} が無効です。値はデフォルトの HTTP に設定されています。{3}
- LTPA トークン認証情報を検証するように JAX-RS 2.0 クライアントを構成します。
- SSL を使用して JAX-RS 2.0 クライアントを保護します。
- com.ibm.ws.jaxrs.client.disableCNCheck クライアント・プロパティーを使用して共通名検査を無効にします。
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.disableCNCheck", true);