Implémentation de clients de services Web
Vous pouvez développer des clients de services Web sur la base de la spécification de services Web pour Java™ EE (Java Platform, Enterprise Edition) et du modèle de programmation JAX-RPC (Java API for XML-based RPC).
Avant de commencer

Pourquoi et quand exécuter cette tâche
- Développement de services Web reposant sur le modèle de programmation JAX-RPC
Le modèle de programmation de client de services Web inclut les instructions pour l'accès aux services Web dans un environnement Java EE. Vous pouvez développer des clients de services Web sur la base de la spécification des services Web Java EE (Java Platform, Enterprise Edition) et de la spécicification JAX-RPC (Java API for XML-based remote procedure call). Le serveur d'applications prend en charge les clients JavaBeans (EJB), les clients d'application Java EE, les fichiers JSP (JavaServer Pages) et les servlets qui reposent sur le modèle de programmation JAX-RPC.
- Clients de services Web JAX-RPC gérés et non gérés
Le serveur d'applications prend en charge des clients de services web gérés et non gérés lors de l'utilisation du modèle de programmation JAX-RPC :
- Clients gérés
Les clients de services Web pour Java EE sont définis par la spécification JSR 109 (Java Requirements) et sont des clients gérés car ils s'exécutent dans un conteneur Java EE. Ces clients sont livrés sous forme de fichiers EAR et ils contiennent des composants qui servent de demandeurs de service. Ces composants peuvent être une application client Java EE, un composant web comme un servlet, une page JSP (JavaServer Pages) ou un EJB (Enterprise JavaBeans) de session. Les clients gérés de services Web utilisent des API JSR 109 et des informations de déploiement pour rechercher et appeler un service Web.
Pour les clients gérés, la recherche du service s'effectue via la recherche JNDI (Java Naming and Directory Interface). Consultez la documentation de la sécurité des services Web de jeton UserName, de la sécurité des services Web de signature numérique et de la sécurité des Services Web de jeton LTPA. Le code suivant est un exemple de recherche de contexte compatible JSR 109 :
InitialContext ctx = new InitialContext(); FredsBankServiceLocator locator =(FredsBankService)ctx.lookup("java:comp/env/service/FredsBankService"); FredsBank fb = locator.getFredsBank(url); long balance = fb.getBalance();
Lorsque vous instanciez une recherche de contexte pour un client géré, n'utilisez pas new() en tant que localisateur de service. Voici un exemple qui n'est pas compatible JSR 109 (nouvel élément ServiceLocator) :
Properties prop = new Properties(); InitialContext ctx = new InitialContext(prop); FredsBankServiceLocator locator = new FredsBankServiceLocator(); FredsBank fb = locator.getFredsBank(url); long balance = fb.getBalance();
Sans l'appel lookup(), le client n'a pas accès au descripteur de déploiement. Pour les services Web JAX-RPC, la configuration de la sécurité des Services Web figure dans le descripteur de déploiement des services Web.
- Clients non gérés
Les clients Java SE 6 (Java Platform, Standard Edition) appelant les services Web par le biais de l'exécution de JAX-RPC et ne s'exécutant pas dans un conteneur Java EE sont appelés clients non gérés. Un client non géré de services Web est un client Java autonome capable d'inspecter directement un fichier WSDL et d'adresser des appels au service Web en passant directement par les API JAX-RPC. Ces clients sont livrés sous la forme de fichiers JAR qui ne contiennent aucune information de déploiement.
Pour qu'une application Java opère comme un client de service Web, un mappage doit exister entre le fichier WSDL et l'application Java. Pour les services Web JAX-RPC, le mappage est défini par la spécification JAX-RPC. Vous pouvez utiliser un composant Java pour implémenter un service Web en spécifiant l'interface du composant et les liaisons du fichier WSDL et en configurant l'infrastructure du serveur d'applications pour qu'il accepte la demande de service. Le processus dépend intégralement de la spécification des services Web pour Java EE. La spécification JAX-RPC définit le mappage entre un fichier WSDL, le code Java et les types de schéma XML.
- Clients gérés
Procédure
Résultats
Vous avez créé et testé une application client de services Web.
Que faire ensuite
Après avoir développé un client d'application de services Web, et lorsque le client est lié de façon statique, le point de contact de service utilisé par l'implémentation est celui identifié dans le fichier WSDL que vous avez utilisé lors de la procédure de développement. Vous pouvez modifier le point de contact de service pendant ou après l'installation de l'application de services Web. Pour les clients gérés, vous pouvez modifier le noeud final à l'aide de la console d'administration ou de l'outil de scriptage wsadmin.
Vous pouvez, en option, personnaliser les services Web en implémentant les extensions de votre client de services Web. Certains exemples de ces extensions impliquent l'envoi et la réception de valeurs dans les en-têtes SOAP, l'envoi et la réception d'en-têtes de transport HTTP ou JMS ou le recours à des liaisons personnalisées. Pour en savoir plus sur ces extensions, lisez les rubriques sur l'implémentation d'extensions aux clients de services Web.