Configuration du client JAX-RS 2.0
Concernant l'API Java pour XML RESTful Web Services 2.0, vous pouvez configurer le client afin qu'il accède aux noeuds finaux REST. JAX-RS 2.0 introduit une nouvelle API client normalisée grâce à laquelle vous pouvez effectuer des demandes http vers vos services Web RESTful distants.
Pourquoi et quand exécuter cette tâche
Procédure
Que faire ensuite
- Utilisez la propriété client com.ibm.ws.jaxrs.client.connection.timeout et
la propriété client com.ibm.ws.jaxrs.client.receive.timeout pour définir la valeur de délai.
- 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();
Conseil : La valeur de la propriété de délai d'attente est en millisecondes et le type doit être long ou int. Si le type de la valeur n'est pas valide, le message suivant s'affiche :CWWKW0700E: La valeur de délai d'attente {0} spécifiée dans la propriété com.ibm.ws.jaxrs.client.receive.timeout côté client JAX-RS n'est pas valide. La valeur par défaut a été appliquée. {3}
- com.ibm.ws.jaxrs.client.connection.timeout
- Utilisez les propriétés client suivantes pour la prise en charge
du proxy client :
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.portConseil : La valeur du port du serveur proxy doit être du type Int. La valeur par défaut est 80. Si le type de la valeur n'est pas valide, le message suivant s'affiche :
CWWKW0701E: La valeur du port de serveur proxy {0} que vous avez spécifiée dans la propriété com.ibm.ws.jaxrs.client.proxy.port côté client JAX-RS n'est pas valide.. La valeur par défaut 80 a été appliquée. {3}
- com.ibm.ws.jaxrs.client.proxy.typeConseil : La valeur du type de serveur proxy doit être HTTP ou SOCKS. La valeur par défaut est HTTP. Si le type du serveur proxy n'est pas valide, le message suivant s'affiche :
CWWKW0702E: La valeur du type de serveur proxy {0} que vous avez spécifiée dans la propriété com.ibm.ws.jaxrs.client.proxy.type côte client JAX-RS n'est pas valide. La valeur par défaut HTTP a été appliquée. {3}
- Utilisez la propriété client com.ibm.ws.jaxrs.client.ltpa.handler pour définir le cookie SSO et définir la valeur sur true.
Si vous voulez utiliser la fonctionnalité Secure Sockets Layer (SSL) dans JAX-RS 2.0, vous devez activer la fonction ssl-1.0 ou appSecurity-2.0. Pour la fonction de jeton LTPA, la fonction appSecurity-2.0 est nécessaire.ClientBuilder cb = ClientBuilder.newBuilder(); Client c = cb.build(); c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
Pour savoir comment configurer l'environnement pour que le client JAX-RS 2.0 s'exécute avec SSL via IHS, veuillez vous référer à la section Configuring IBM HTTP server SSL support.
Remarque : La fonction ssl-1.0 est une sous-fonction de la fonction appSecurity-2.0. Si vous activez la fonction jaxrsClient-2.0 et la fonction ssl-1.0, la fonction appSecurity-2.0 est activée automatiquement. - Utilisez la propriété client com.ibm.ws.jaxrs.client.ssl.config pour définir l'ID de référence SSL de server.xml.
Pour en savoir plus sur l'établissement d'une relation de confiance via l'extraction du certificat du fichier de clé IHS et son ajout au fichier JKS Liberty, voir Create a key database file and certificates needed to authenticate the Web server during an SSL handshake.ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.ssl.config", "mySSLRefId"); Client c = cb.build();
Remarque : La configuration définie dans le fichier server.xml se présente comme suit :<ssl id="mySSLRefId" keyStoreRef="clientKeyStore" trustStoreRef="clientTrustStore" />
- Utilisez la propriété client com.ibm.ws.jaxrs.client.disableCNCheck pour désactiver la vérification de nom usuel.
ClientBuilder cb = ClientBuilder.newBuilder(); cb.property("com.ibm.ws.jaxrs.client.disableCNCheck", true);