配置 JAX-RS 2.0 用戶端
若為 Java API for XML RESTful Web Services 2.0,您可以將用戶端配置成存取 REST 端點。JAX-RS 2.0 推出新的標準化「用戶端 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: 您在「JAX-RS 用戶端」上的 com.ibm.ws.jaxrs.client.timeout 內容中指定的逾時值 {0} 無效。值會設為預設值 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: 您在 JAX-RS 用戶端的 com.ibm.ws.jaxrs.client.receive.timeout 內容中指定的逾時值 {0} 無效。值會設為預設值 30000。{3}
- com.ibm.ws.jaxrs.client.connection.timeout
- 使用 com.ibm.ws.jaxrs.client.timeout 用戶端內容,來設定逾時值。
- 使用下列用戶端內容,以支援用戶端 Proxy:
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提示: Proxy 伺服器埠值的類型必須是 int。預設值是 80。如果值類型無效,會顯示下列訊息:
CWWKW0701E: 您在「JAX-RS 用戶端」上的 com.ibm.ws.jaxrs.client.proxy.port 內容中指定的 Proxy 伺服器埠值 {0} 無效。值會設為預設值 80。{3}
- com.ibm.ws.jaxrs.client.proxy.type提示: Proxy 伺服器類型的值必須是 HTTP 或 SOCKS。預設值為 HTTP。如果 Proxy 伺服器的類型無效,會顯示下列訊息:
CWWKW0702E: 您在「JAX-RS 用戶端」上的 com.ibm.ws.jaxrs.client.proxy.type 內容中指定的 Proxy 伺服器類型值 {0} 無效。值會設為預設值 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 用戶端的相關資訊,請參閱配置 IBM HTTP Server 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 伺服器時所需的金鑰資料庫檔案和憑證。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);