Configuración del cliente JAX-RS 2.0
Para Java API for XML RESTful Web Services 2.0, puede configurar el cliente para acceder a los puntos finales REST. JAX-RS 2.0 introduce una nueva API de cliente estandarizada para que pueda realizar solicitudes HTTP a los servicios web RESTful remotos.
Acerca de esta tarea
Procedimiento
Qué hacer a continuación
- Utilice la propiedad de cliente com.ibm.ws.jaxrs.client.timeout para
establecer el valor de tiempo de espera.
javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.timeout", "1000"); Client c = cb.build();
Consejo: El valor de la propiedad timeout está en milisegundos y el tipo debe ser long o int. Si el tipo del valor no es válido, aparece el siguiente mensaje: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 el valor predeterminado 30000.{3}
- Utilice la propiedad de cliente
com.ibm.ws.jaxrs.client.connection.timeout y la propiedad de cliente
com.ibm.ws.jaxrs.client.receive.timeout 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 está en milisegundos y el tipo debe ser long o int. Si el tipo del valor no es válido, aparece el siguiente mensaje:CWWKW0700E: El valor de tiempo de espera {0} que ha especificado en la propiedad com.ibm.ws.jaxrs.client.receive.timeout en el lado del cliente JAX-RS no es válido. El valor se establece en 30000 de forma predeterminado. {3}
- com.ibm.ws.jaxrs.client.connection.timeout
- Utilice la propiedad de cliente com.ibm.ws.jaxrs.client.timeout para
establecer el valor de tiempo de espera.
- Utilice las siguientes propiedades de cliente para el soporte de proxy del 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 de valor de puerto de servidor proxy debe ser int. El valor predeterminado es 80. Si el tipo de valor no es válido, aparece el siguiente mensaje:
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 predeterminado. {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 del servidor proxy no es válido, aparece el siguiente mensaje:
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 de forma predeterminado. {3}
- Utilice la propiedad de cliente com.ibm.ws.jaxrs.client.ltpa.handler para establecer la cookie SSO y establezca el valor en true.
Si desea utilizar la función SSL (capa de sockets seguros) en JAX-RS 2.0, debe habilitar la característica ssl-1.0 o appSecurity-2.0. Para la función de señal LTPA, debe habilitar la característica appSecurity-2.0.ClientBuilder cb = ClientBuilder.newBuilder(); Client c = cb.build(); c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
Para obtener más información sobre cómo configurar el entorno para ejecutar el cliente JAX-RS 2.0 con SSL mediante IHS, consulte Configuración de soporte SSL de IBM HTTP Server.
Nota: La característica ssl-1.0 es una subcaracterística de la característica appSecurity-2.0. Si habilita la característica jaxrsClient-2.0 y la característica ssl-1.0, la característica appSecurity-2.0 se habilita automáticamente. - Utilice la propiedad de cliente com.ibm.ws.jaxrs.client.ssl.config para establecer el ID de referencia SSL del archivo server.xml.
Para obtener más información sobre cómo establecer confianza extrayendo el certificado del archivo de claves IHS y añadiéndolo al archivo JKS de Liberty, consulte Crear un archivo de base de datos de claves y los certificados necesarios para autenticar el servidor web durante un reconocimiento SSL.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.ssl.config", "mySSLRefId"); Client c = cb.build();
Nota: La configuración en el archivo server.xml se muestra de la forma siguiente:<ssl id="mySSLRefId" keyStoreRef="clientKeyStore" trustStoreRef="clientTrustStore" />
- Utilice la propiedad de 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);