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

Pratiques recommandées Pratiques recommandées: IBM® WebSphere Application Server prend en charge les modèles de programmation JAX-WS (Java API for XML-Based Web Services) et JAX-RPC (Java API for XML-based RPC). JAX-WS représente la future génération du modèle de programmation des services Web qui étend la base du modèle JAX-RPC. L'utilisation du modèle de programmation JAX-WS stratégique simplifie le développement des services et des clients Web par la prise en charge d'un modèle d'annotations normalisé. Bien que le modèle de programmation et les applications JAX-RPC soient toujours pris en charge, vous avez tout avantage à recourir au modèle de programmation JAX-WS, facile à mettre en oeuvre, pour développer de nouvelles applications et de nouveaux clients de services Web. bprac

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.

Procédure

  1. Procurez-vous le document WSDL (Web Services Description Language) pour le service Web auquel vous souhaitez accéder.

    Vous pouvez vous procurer le document WSDL par courrier électronique via votre fournisseur de services à l'aide d'une adresse URL ou en le recherchant dans un registre UDDI (Universal Description, Discovery and Integration).

  2. Développez des liaisons client à partir d'un fichier WSDL à l'aide de l'outil de la ligne de commande WSDL2Java. Les informations requises pour appeler le service Web sont générées, y compris l'interface SEI et les implémentations, l'interface du service généré et les descripteurs de déploiement ibm-webservicesclient-bnd.xmi et ibm-webservicesclient-ext.xmi.
  3. Effectuez l'implémentation du client. Ecrivez votre code d'application client utilisé pour l'appel du service Web.
    Voir le chapitre 4 de la spécification JSR 109. Pour obtenir la liste complète des normes et spécifications prises en charge, voir les spécifications des services Web et la documentation des API.
    Remarque : Si une application crée plusieurs unités d'exécution dans le client JSR 109, les métadonnées (y compris la configuration de WebSphere Application Server) ne sont pas copiées dans l'unité d'exécution et le gestionnaire de la sécurité globale (Global Security Handler) n'est pas appelé.

    Vous pouvez consulter l'exemple de services Web de type JAX-RPC, client GetQuote, dans l'application WebServicesSamples disponible pour téléchargement. Pour plus de détails, voir les informations sur les exemples de la Version 8.0.

  4. (Facultatif) Assemblez un client compatible avec les services Web et un fichier JAR (Java archive) dans un fichier EAR (Enterprise archive). Effectuez cette étape si vous développez un client de services Web JAX-RPC qui s'exécute dans le conteneur client Java EE.
  5. (Facultatif) Assemblez un fichier WAR dans un fichier EAR. Effectuez cette étape si vous développez un client de services Web JAX-RPC qui s'exécute dans le conteneur client Java EE.
  6. (Facultatif) Configurez le descripteur de déploiement client. Effectuez cette tâche si vous développez un client JAX-RPC géré.
  7. (Facultatif) Configurez le descripteur de déploiement ibm-webservicesclient-bnd.xmi. Effectuez cette étape si vous déployez un client JAX-RPC géré qui s'exécute dans le conteneur client Java EE et que vous souhaitez remplacer les paramètres du client par défaut. Voir ibm-webservicesclient-bnd.xmi Propriétés d'assemblage pour plus d'informations sur le descripteur de déploiement ibm-webservicesclient-bnd.xmi.
  8. (Facultatif) Déployez l'application client de services Web. Effectuez cette étape pour déployer un client géré de services Web JAX-RPC qui s'exécute dans le conteneur de client Java EE.
  9. Testez l'application client configurée pour les services Web. Vous pouvez tester un fichier JAR client non géré ou une application client gérée.

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.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_devwbsjaxrpcclient
Nom du fichier : twbs_devwbsjaxrpcclient.html