Cette règle détecte la présence des services Web JAX-RPC en fonction des critères suivants :
- La présence du fichier web-services.xml
- La présence du fichier weblogic-webservices.xml et
du fichier webservices.xml dans le même dossier
Correctif rapide
Dans le scanner de source, cette règle génère un script Ant comportant des tâches IBM
Ant spécifiques. Ces tâches créent des services Web JAX-RPC basés sur des descripteurs de déploiement de service Web
J2EE de WebLogic. Le correctif rapide analyse les descripteurs de déploiement des
services Web et génère un script Ant si aucun fichier généré par IBM Ant n'existe dans le
dossier principal du projet. Ce script contient les tâches IBM Ant requises pour générer les services Web JAX-RPC.
Propriétés de la règle
Vous devez indiquer les valeurs requises pour les propriétés de la règle. Pour changer les valeurs des propriétés de cette règle, sélectionnez la règle dans la fenêtre Configurations Software Analyzer. Renseignez ensuite les zones de l'onglet Propriétés. Les propriétés de cette règle sont les suivantes :
- Nom du script Ant généré :
Il s'agit du nom du script Ant qui sera généré.Le nom de fichier du script doit
être valide.La valeur ne doit contenir ni barre oblique ni barre oblique inversée. Le fichier est généré dans le dossier principal du projet.
Valeur par défaut : build-ibm-ws.xml
- Nom du dossier de génération :
Il s'agit du nom du dossier dans lequel les artefacts seront générés.La valeur
ne doit contenir ni barre oblique ni barre oblique inversée. Le dossier de
génération est créé dans le dossier principal du projet.
Valeur par défaut : ibm-ws-gen
Chemin d'accès aux classes du script Ant
Le chemin d'accès aux classes Ant est déterminé à partir du projet Eclipse.
Il est important de vérifier que tous les éléments nécessaires pour la
compilation sont présents dans le chemin d'accès aux classes Eclipse.
Services JAX-RPC définis dans le fichier web-services.xml
En fonction des informations et du type de services définis dans le fichier
web-services.xml, un script Ant, et éventuellement du code Java supplémentaire représentant l'interface de noeud final du service Web, sont générés pour reproduire le service JAX-RPC.
- Composants pris en charge
Seuls les composants des beans enterprise de type Stateless Session (session sans état) (<stateless-ejb>) et Java(R) (<java-class>) peuvent être reconnus et convertis.
- Composants EJB sans état :
Le fichier .jar de l'EJB (Enterprise JavaBeans) défini dans l'attribut de chemin (path) de l'élément
<ejb-link> doit exister dans le projet. Le correctif rapide recherche le fichier JAR de l'EJB et génère une nouvelle classe d'interface de noeud final de service (Service Endpoint Interface / SEI) basée sur la classe distante de l'EJB.
Les interfaces SEI diffèrent des interfaces distantes d'EJB par le fait que la classe doit étendre java.rmi.Remote et que chaque méthode génère
l'exception java.rmi.RemoteException.
Le correctif rapide utilise la fonction de réflexion Java sur l'interface distante d'EJB pour générer la nouvelle interface d'activation de sécurité (SEI). Par conséquent, le chemin d'accès aux classes du projet Eclipse doit être configuré avec toutes les classes, les fichiers JAR, les dossiers, etc., requis pour permettre au correctif rapide de charger correctement la classe distante d'EJB.
L'interface SEI est créée dans le dossier sei, dans le dossier de génération indiqué par l'utilisateur dans les propriétés de la règle.Le package de l'interface SEI correspond au package de l'interface distante d'EJB et le nom de l'interface SEI est identique à celui de l'interface distante EJB, avec la chaîne
SEI ajoutée en plus.De plus, le nouveau dossier SEI est ajouté dans le chemin d'accès aux classes du projet.
- Composants de la classe Java :
Comme pour les composants d'EJB, le correctif rapide crée une interface de noeud final de service (SEI) à partir de la classe Java définie dans l'attribut <class-name>.
- Cibles Ant générées :
Le script Ant généré contient des cibles pour générer le fichier WSDL et le service JAX-RPC sur la base de la nouvelle interface SEI créée par le correctif rapide.
La cible de génération du fichier WSDL a le nom
genWSDL_ssss, où ssss est le nom du service JAX-RPC indiqué dans la zone de l'attribut name de l'élément <web-service>.
Les cibles de la génération de service sont nommées
genService_pppp, où pppp est le nom du composant indiqué par l'attribut name de l'élément <stateless-ejb> ou <java-class>.
Le correctif rapide n'utilise pas les informations fournies par les autres éléments, tels que <handlers-chain>, <types>, <operations>, <security>, etc.
Services JAX-RPC définis dans le fichier webservices.xml
Un script Ant est généré sur la base des données et du type de services définis dans le fichier webservices.xml afin de reproduire le service JAX-RPC.
- Cibles Ant générées :
Le script Ant généré contient des cibles pour générer le fichier WSDL et le service JAX-RPC.
La cible de génération WSDL est créée uniquement si le correctif rapide ne parvient pas à localiser le fichier WSDL comme le définit l'élément <wsdl-file>.
Si elle est créée, la cible de génération du fichier WSDL est nommée
genWSDL_ssss, où ssss est le nom du service défini dans l'élément <webservice-description-name>.
Les cibles de génération de service sont nommées
genService_pppp, où pppp est le nom du port défini par l'élément
<port-component-name>.
Tâches Ant pour IBM WebSphere Application Server
WebSphere Application Server inclut des tâches Ant, comme java2wsdl et wsdl2java, qui permettent de générer les artefacts requis pour les services JAX-RPC. Le script Ant généré utilise ces tâches pour créer le
service.
Pour plus d'informations sur ces tâches, consultez la
documentation WebSphere Application Server.
Exécution du script Ant
Une fois le script Ant généré par le correctif rapide, examinez-le et personnalisez-le si nécessaire.
Pour des personnalisations supplémentaires des tâches IBM Ant, consultez la documentation WebSphere Application Server.
Vous devez exécuter le script à l'aide des outils Ant qui
sont inclus dans WebSphere Application Server. Le script IBM Ant
peut être exécuté à partir de :
- WAS_HOME\bin\ws_ant.bat sur Windows(R)
- WAS_HOME\bin\ws_ant.sh sur UNIX(R)
Exemple : c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Une fois les cibles Ant générées, les artefacts sont créés dans le dossier de génération. Vous
pouvez ensuite examiner le code généré ainsi que les descripteurs
de déploiement, puis ajouter ces artefacts à leurs modules.