JAX-RS 2.0-Client konfigurieren
Für Java API for XML RESTful Web Services 2.0 kann der Client so konfiguriert werden, dass er auf die REST-Endpunkte zugreift. In JAX-RS 2.0 wird eine neue und standardisierte Client-API eingeführt, die es ermöglicht, HTTP-Anforderungen an die fernen REST-konformen Web-Services abzusetzen.
Informationen zu diesem Vorgang
Vorgehensweise
Erstellen Sie einen JAX-RS 2.0-Client und senden Sie eine Anforderung an den Server.
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder();
javax.ws.rs.client.Client c = cb.build();
String res = null;
try {
res = c.target("<Ressourcen-URL>")
.path("<PFAD>")
.request()
.get(String.class);
} catch (Exception e) {
res = "[Error]:" + e.toString();
} finally {
c.close();
}
Informationen zur asynchronen
Verarbeitung in der Client-API finden Sie unter
Asynchrone Verarbeitung oder in Kapitel 8 der Spezifikation
JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services. Nächste Schritte
- Verwenden Sie die Clienteigenschaft
com.ibm.ws.jaxrs.client.connection.timeout und die Clienteigenschaft
com.ibm.ws.jaxrs.client.receive.timeout, um die Zeitlimitwerte festzulegen.
- 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 (timeout) wird in Millisekunden angegeben und als Typ muss "long" oder "integral" verwendet werden. Wenn der Wertetyp ungültig ist, wird die folgende Nachricht angezeigt:CWWKW0700E: Der Zeitlimitwert {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.receive.timeout auf der JAX-RS-Clientseite angegeben haben, ist ungültig. Der Wert wird auf den Standardwert 30000 gesetzt. {3}
- com.ibm.ws.jaxrs.client.connection.timeout
- Verwenden Sie für die Client-Proxy-Unterstützung die folgenden Eigenschaften:
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 Proxy-Server-Portwert muss den Typ "integral" haben. Der Standardwert ist 80. Wenn der Werttyp ungültig ist, wird die folgende Nachricht angezeigt:
CWWKW0701E: Der Proxy-Server-Port {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.proxy.port auf der JAX-RS-Clientseite angegeben haben, ist ungültig. Der Wert wird auf den Standardwert 80 gesetzt. {3}
- com.ibm.ws.jaxrs.client.proxy.typeTipp: Der Wert des Proxy-Server-Typs muss HTTP oder SOCKS lauten. Der Standardwert ist HTTP. Wenn der Typ des Proxy-Servers ungültig ist, wird die folgende Nachricht angezeigt:
CWWKW0702E: Der Proxy-Server-Port {0}, den Sie in der Eigenschaft com.ibm.ws.jaxrs.client.proxy.type auf der JAX-RS-Clientseite angegeben haben, ist ungültig. Der Wert wird auf den Standardwert HTTP gesetzt. {3}
- Konfigurieren Sie den JAX-RS 2.0-Client für die Validierung der Authentifizierungsdaten im LTPA-Token.
- Schützen Sie den JAX-RS 2.0-Client mit SSL.
- Verwenden Sie die Clienteigenschaft com.ibm.ws.jaxrs.client.disableCNCheck, um die Überprüfung des allgemeinen Namens zu inaktivieren.
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.disableCNCheck", true);