Configuración del cliente JAX-RS 2.0
Para Java API for XML RESTful Web Services 2.0, puede configurar el acceso del cliente a los puntos finales REST. JAX-RS 2.0 introduce una nueva API de cliente estándar que permite realizar solicitudes http a sus servicios web RESTful remotos.
Acerca de esta tarea
Procedimiento
Cree un cliente de JAX-RS 2.0 y envíe una solicitud al servidor:
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();
}
Para obtener más información acerca del proceso asíncrono en la API de cliente, consulte Proceso asíncrono o el Capítulo 8 del documento JSR 339: JAX-RS 2.0: The Java API for RESTful Web
Services (la "Especificación"). Qué hacer a continuación
- Utilice la propiedad com.ibm.ws.jaxrs.client.connection.timeout del cliente y la propiedad com.ibm.ws.jaxrs.client.receive.timeout
del cliente para establecer los valores de tiempo de espera.
- 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();
Consejo: El valor de la propiedad timeout es en milisegundos y el tipo debe ser largo o integral. Si el tipo del valor no es válido, se muestra el mensaje siguiente:CWWKW0700E: El valor de tiempo de espera {0} que ha especificado en la propiedad com.ibm.ws.jaxrs.client.timeout en el lado del cliente JAX-RS no es válido. El valor se establece en 30000 de forma predeterminada. {3}
- com.ibm.ws.jaxrs.client.connection.timeout
- Utilice las siguientes propiedades del cliente para el soporte del proxy de cliente:
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.portConsejo: El tipo del valor de puerto del servidor proxy debe ser integral. El valor predeterminado es 80. Si el tipo del valor no es válido, se muestra el mensaje siguiente:
CWWKW0701E: El valor de puerto de servidor proxy {0} que ha especificado en la propiedad com.ibm.ws.jaxrs.client.proxy.port en el lado del cliente JAX-RS no es válido. El valor se establece en 80 de forma predeterminada. {3}
- com.ibm.ws.jaxrs.client.proxy.typeConsejo: El valor del tipo de servidor proxy debe ser HTTP o SOCKS. El valor predeterminado es HTTP. Si el tipo de servidor proxy no es válido, se muestra el mensaje siguiente:
CWWKW0702E: El valor de tipo de servidor proxy {0} que ha especificado en la propiedad com.ibm.ws.jaxrs.client.proxy.type en el lado del cliente JAX-RS no es válido. El valor se establece en HTTP. {3}
- Configure el cliente JAX-RS 2.0 para validar la información de autenticación de señales LTPA.
- Protección de clientes JAX-RS 2.0 mediante SSL.
- Utilice la propiedad del cliente com.ibm.ws.jaxrs.client.disableCNCheck para inhabilitar la comprobación de nombre común.
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.disableCNCheck", true);