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

Für den Zugriff auf eine Webressource über die Client-API ist eine Instanz von Client erforderlich. Die Standardinstanz von Client kann mit einem Aufruf von newClient oder build in ClientBuilder angefordert werden.

Vorgehensweise

  1. Aktivieren Sie in Ihrer Datei server.xml wie folgt das Feature jaxrsClient-2.0 oder jaxrs-2.0:
    <featureManager>
        <feature>jaxrs-2.0</feature>// Wenn Sie nur das JAX-RS 2.0-Client-Feature benötigen, können Sie jaxrsClient-2.0 anstelle von jaxrs-2.0 aktivieren.
    </featureManager>
  2. Erstellen Sie einen JAX-RS 2.0-Client und senden Sie die 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("<Resource_URL>")
                 .path("<PATH>")
                 .request()
                 .get(String.class);
    	} catch (Exception e) {
          	res = "[Error]:" + e.toString();
          } finally {
                c.close();        
          }   
    Weitere Informationen zum asynchronen JAX-RS 2.0-Client finden Sie unter Asynchrone Verarbeitung.

Nächste Schritte

  • Legen Sie mit der Clienteigenschaft com.ibm.ws.jaxrs.client.connection.timeout und der Clienteigenschaft com.ibm.ws.jaxrs.client.receive.timeout den Zeitlimitwert 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}
  • 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.port
      Tipp: 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.type
      Tipp: 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".
    ClientBuilder cb = ClientBuilder.newBuilder();
            Client c = cb.build();
            c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "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-Tokenfunktion ist das Feature appSecurity-2.0 erforderlich.

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

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_jaxrs2.0_clientconfig
Dateiname: twlp_jaxrs2.0_clientconfig.html