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

Se necesita una instancia de Client para acceder a un recurso web utilizando la API de cliente. La instancia predeterminada de Client puede obtenerse invocando newClient o build en ClientBuilder.

Procedimiento

  1. Habilite la característica jaxrsClient-2.0 o jaxrs-2.0 en el archivo server.xml:
    <featureManager>
        <feature>jaxrs-2.0</feature>// Si sólo necesita la característica de cliente JAX-RS 2.0, puede habilitar jaxrsClient-2.0 en lugar de jaxrs-2.0 
    </featureManager>
  2. Cree un cliente JAX-RS 2.0 y envíe la 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 sobre el cliente de JAX-RS 2.0 asíncrono, consulte Proceso asíncrono.

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}
  • 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.port
      Consejo: 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.type
      Consejo: 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.
    ClientBuilder cb = ClientBuilder.newBuilder();
            Client c = cb.build();
            c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "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.

    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.
    ClientBuilder cb = ClientBuilder.newBuilder();
            cb.property("com.ibm.ws.jaxrs.client.ssl.config", "mySSLRefId"); 
            Client c = cb.build();
    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.
    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);

Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: Tuesday, 7 June 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_jaxrs2.0_clientconfig
Nombre de archivo:twlp_jaxrs2.0_clientconfig.html