JAX-RS 2.0-Client konfigurieren
Für JAX-RS 2.0 (Java API for XML RESTful Web Services) können Sie den Clientzugriff auf REST-Endpunkte konfigurieren. JAX-RS 2.0 führt eine neue und standardisierte Client-API ein, über die Sie HTTP-Anforderungen an Ihre fernen, REST-konformen Web-Services absetzen können.
Informationen zu diesem Vorgang
Vorgehensweise
Nächste Schritte
- Legen Sie mit der Clienteigenschaft com.ibm.ws.jaxrs.client.timeout den Zeitlimitwert fest.
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.timeout", "1000"); Client c = cb.build();
Tipp: Der Wert der Zeitlimiteigenschaft wird in Millisekunden angegeben. Der Datentyp muss Long oder Int sein. Wenn der Typ des Werts ungültig ist, wird folgende Nachricht angezeigt:CWWKW0700E: Der Zeitlimitwert {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.timeout auf der JAX-RS-Client-Seite angegeben haben, ist ungültig. Die Eigenschaft wird auf den Standardwert 30000 gesetzt. {3}
- Legen Sie mit der Clienteigenschaft
com.ibm.ws.jaxrs.client.connection.timeout und der Clienteigenschaft
com.ibm.ws.jaxrs.client.receive.timeout die Zeitlimitwerte fest.
- 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();
Tipp: Der Wert der Zeitlimiteigenschaft wird in Millisekunden angegeben und der Typ muss "Long" oder "Int" sein. Wenn der Typ des Werts ungültig ist, wird folgende Nachricht angezeigt:CWWKW0700E: Der Zeitlimitwert {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.receive.timeout auf der JAX-RS-Client-Seite angegeben haben, ist ungültig. Die Eigenschaft wird auf den Standardwert 30000 gesetzt. {3}
- com.ibm.ws.jaxrs.client.connection.timeout
- Legen Sie mit der Clienteigenschaft com.ibm.ws.jaxrs.client.timeout den Zeitlimitwert fest.
- Verwenden Sie für die Client-Proxy-Unterstützung die folgenden Clienteigenschaften:
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.portTipp: Der Wert für den Proxy-Server-Port muss vom Typ Int sein. Der Standardwert ist 80. Wenn der Typ des Werts ungültig ist, wird folgende Nachricht angezeigt:
CWWKW0701E: Der Portwert für den Proxy-Server, {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.proxy.port auf der JAX-RS-Client-Seite angegebenhaben, ist ungültig. Die Eigenschaft wird auf den Standardwert 80 gesetzt. {3}
- com.ibm.ws.jaxrs.client.proxy.typeTipp: Der Proxy-Server muss vom Typ HTTP oder SOCKS sein. Der Standardwert ist HTTP. Wenn der Typ des Proxy-Servers ungültig ist, wird folgende Nachricht angezeigt:
CWWKW0702E: Der Typwert für den Proxy-Server, {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.proxy.type auf der JAX-RS-Client-Seite angegebenhaben, ist ungültig. Die Eigenschaft wird auf den Standardwert HTTP gesetzt. {3}
- Legen Sie mit der Clienteigenschaft com.ibm.ws.jaxrs.client.ltpa.handler das SSO-Cookie fest und setzen Sie den Wert auf
"true".
Wenn Sie in JAX-RS 2.0 die SSL-Funktion (Secure Sockets Layer) verwenden möchten, müssen Sie das Feature ssl-1.0 oder appSecurity-2.0 aktivieren. Für die LTPA-Token-Funktion muss das Feature "appSecurity-2.0" aktiviert werden.ClientBuilder cb = ClientBuilder.newBuilder(); Client c = cb.build(); c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
Weitere Informationen dazu, wie die Umgebung so konfiguriert wird, dass der JAX-RS 2.0-Client mit SSL über IHS ausgeführt wird, finden Sie unter Configuring IBM HTTP server SSL support.
Anmerkung: Das Feature ssl-1.0 ist ein untergeordnetes Feature des Features appSecurity-2.0. Wenn Sie das Feature jaxrsClient-2.0 und das Feature ssl-1.0 aktivieren, wird das Feature appSecurity-2.0 automatisch aktiviert. - Verwenden Sie die Clienteigenschaft com.ibm.ws.jaxrs.client.ssl.config, um die SSL-Referenz-ID Ihrer Datei server.xml festzulegen.
Weitere Informationen zum Herstellen einer Vertrauensbeziehung durch Extraktion des Zertifikats aus der IHS-Schlüsseldatei und Hinzufügen dieses Zertifikats zur Liberty-JKS-Datei finden Sie unter 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();
Anmerkung: Die Konfiguration in der Datei server.xml sieht wie folgt aus:<ssl id="mySSLRefId" keyStoreRef="clientKeyStore" trustStoreRef="clientTrustStore" />
- Inaktivieren Sie die allgemeine Namensprüfung mit der Clienteigenschaft com.ibm.ws.jaxrs.client.disableCNCheck.
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.disableCNCheck", true);