La validation à partir de l'outil de conversion JAX-RPC a déterminé qu'un service Web JAX-RPC dans cette analyse est un bon candidat pour la conversion binaire en JAX-WS à l'aide de l'outil de conversion JAX-RPC.
Une implémentation pour JAX-RPC a été détectée dans votre application. Vous pouvez continuer à utiliser l'implémentation JAX-RPC fournie dans l'application sans modification de code.
Cette règle marque l'utilisation de fichiers de configuration et de packages spécifiques à JAX-RPC. Elle marque
également toute utilisation de la balise jaxrpc-mapping-file dans les fichiers de mappage XML. Le tableau suivant répertorie les
packages Java, les fichiers de configuration et les fichiers de mappage XML concernés par cette règle :
Lots |
Fichiers de configuration |
Fichiers de mappage XML |
|---|---|---|
|
|
|
L'API Java pour le RPC basé sur XML (JAX-RPC) n'est pas prise en charge dans Liberty ou Liberty Core. Cette technologie est obsolète dans WebSphere Application Server Traditional version 9.0 et pourrait être retirée dans une version ultérieure. Le chemin de migration stratégique consiste à utiliser JAX-WS. L'effort relatif va changer en fonction du chemin de migration choisi :
Le tableau suivant compare les quatre options en fonction de facteurs susceptibles d'affecter votre projet.
Critères de projet |
Option 1Migration des services web JAX-RPC vers les services web JAX-WS à l'aide de l'outil de conversion JAX-RPC |
Option 2Migration manuelle des services web JAX-RPC en services web JAX-WS |
Option 3Utilisation du moteur Apache Axis 1 JAX-RPC dans Liberty |
Option 4Utilisation de WebSphere Application Server Traditional avec son moteur JAX-RPC natif |
|---|---|---|---|---|
|
Solution prise en charge |
Oui JAX-WS est pris en charge en tant que fonctionnalité configurable sur toutes les éditions de Liberty excepté Liberty Core. Téléchargez l'outil de conversion WebSphere Liberty JAX-RPC Conversion Tool for Maven and Gradle. |
Oui JAX-WS est pris en charge en tant que fonctionnalité configurable sur toutes les éditions de Liberty excepté Liberty Core. |
Non Axis 1 n'est pas pris en charge. |
Oui JAX-RPC est pris en charge sur WebSphere Application Server Traditional. |
|
Solution stratégique |
Oui JAX-WS est stratégique pour toutes les éditions de Liberty excepté Liberty Core. |
Oui JAX-WS est stratégique pour toutes les éditions de Liberty excepté Liberty Core. |
Non Axis 1 n'est plus en cours de développement. |
Non JAX-RPC est obsolète dans WebSphere Application Server Traditional et pourrait être retirée dans une version ultérieure. |
|
Complexité d'implémentation |
Faible L'application a transféré la validation de l'outil de conversion JAX-RPC, les services JAX-RPC peuvent être convertis en services Web JAX-WS par l'outil. |
Elevé Cette option peut s'avérer complexe pour un grand nombre de services Web et de clients JAX-RPC. Faute d'utiliser l'outil de conversion JAX-RPC pour migrer les services JAX-RPC vers JAX-WS, de nombreux changements dans la base de code seront nécessaires. |
Faible Si l'application utilise déjà Axis 1, cette option n'est pas complexe. Sinon, cette option est de complexité moyenne. |
Moyen La migration des services Web JAX-RPC vers un autre moteur préserve une grande partie de la base du code. |
|
Fonctionnalités avancées |
Oui JAX-WS offre un grand nombre de fonctions avancées, telles Annotations, JAXB Binding et SOAP 1.2. |
Oui JAX-WS offre un grand nombre de fonctions avancées, telles Annotations, JAXB Binding et SOAP 1.2. |
Non JAX-RPC ne dispose pas de la plupart des fonctions avancées de JAX-WS. |
Non JAX-RPC ne dispose pas de la plupart des fonctions avancées de JAX-WS. |
|
Conformité à la spécification |
Oui |
Oui |
Oui Même si JAX-RPC est toujours mentionné dans la spécification Java EE, il est obsolète avec Java EE 6. |
Oui Même si JAX-RPC est toujours mentionné dans la spécification Java EE, il est obsolète avec Java EE 6. |
|
Recommandation |
Utilisez cette option si l'application répond aux exigences de l'outil de conversion JAX-RPC. |
Utilisez cette option si vous n'avez que quelques services web JAX-RPC à convertir et que l'application ne répond pas aux exigences de l'outil de conversion JAX-RPC. |
Utilisez cette option si vos services Web JAX-RPC s'exécutent déjà sur Axis 1. |
Utilisez cette option si vos services Web JAX-RPC sont déjà exécutés sur WebSphere Application Server Traditional, ou si de nombreux services Web JAX-RPC n'exécutent pas encore Axis 1. |
Téléchargez l'outil de conversion JAX-RPC à partir de WebSphere Liberty JAX-RPC conversion Tool for Maven et Gradle.
Pour plus d'informations sur la migration des applications de JAX-RPC vers JAX-WS à l'aide de l'outil de conversion JAX-RPC, voir Migration d'applications JAX-RPC vers Liberty à l'aide de Maven ou Migration d'applications JAX-RPC vers Liberty à l'aide de Gradle dans la documentation en ligne.
Pour plus d'informations sur la migration des applications de JAX-RPC vers JAX-WS, voir Scénarios de migration des services Web : JAX-RPC vers JAX-WS et JAXB dans la documentation en ligne.
Pour plus d'informations sur les différences entre JAX-RPC et JAX-WS, voir Modèle de déploiement d'application JAX-WS.
Si vous utilisez déjà Axis 1, pour l'utiliser dans Liberty, vous devez inclure les bibliothèques Axis 1 dans le chemin de classe Liberty.
Si vous utilisez un JAX-RPC embarqué, vous pouvez convertir vos services web pour utiliser Axis 1. La procédure suivante explique comment faire migrer un service web de Red Hat JBoss vers Axis 1.
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
Pour plus d'informations sur cette commande, voir Référence WSDL2Java sur le site Web d'Apache.
Pour plus d'informations sur les éléments de configuration WSDD, voir Référence de déploiement (WSDD) sur le site Web d'Apache.
Par exemple, la méthode suivante inclut une recherche JNDI :
La recherche doit être remplacée :
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {Si vous souhaitez utiliser le moteur WebSphere Application Server JAX-RPC, vous devez utiliser WebSphere Application Server Traditional. Liberty ne prend pas en charge JAX-RPC. Si vous souhaitez utiliser Liberty, vous devez sélectionner l'une des autres options.
Si des fichiers de configuration JAX-RPC sont détectés, mais qu'il n'y aucune utilisation détectée de JAX-RPC Java API pour cette application, les fichiers de configuration peuvent venir d'une utilisation antérieure de la technologie JAX-RPC qui n'est plus nécessaire. Les configurations non utilisées peuvent être retirées.