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
Solution manuelle
Pour générer des services web JAX-RPC basés sur WebLogic J2EE web service deployment descriptors, vous devez créer manuellement un script Ant à l'aide de tâches spécifiques IBM® Ant spécifiques. Le script doit être ajouté au dossier racine du projet si un fichier généré par IBM Ant n'existe pas déjà. Ces tâches gérer la génération des services web JAX-RPC à partir des descripteurs de déploiement.
Propriétés de la règle
Vous devez fournir les valeurs correctes pour les propriétés de la règle afin de garantir des résultats précis lors de l'analyse. Ces propriétés doivent être examinées et configurer de manière appropriée en fonction du contexte de votre application. Les propriétés pour cette règle sont les suivantes :
- Nom du script Ant généré :
Spécifie le nom du nouveau script Ant généré. Le nom du script doit être un nom de fichier valide. La valeur ne doit pas inclure de barres obliques avant ou arrière doit être un nom de fichier valide. La valeur ne doit pas inclure de barres obliques avant ou arrière. Le script se trouve dans le dossier racine 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 Enterprise JavaBeans (TM) (EJB), tel que défini dans l'attribut path de l'élément <ejb-link>, doit exister dans le projet. Le correctif automatisé analyse le fichier JAR EJB et génère une nouvelle classe Service Endpoint Interface (SEI) basée sur la classe EJB remote.
Les interfaces SEI diffèrent des interfaces distantes EJB en ce sens que la classe doit étendre
java.rmi.Remote
et chaque méthode doit émettre l'exception,
java.rmi.RemoteException
.
Le correctif automatisé utilisera Java reflection sur l'interface distante de l'EJB pour générer le nouveau SEI .
Par conséquent, assurez-vous que le chemin de classe de votre projet Eclipse inclut toutes les classes, tous les fichiers JAR et tous les répertoires nécessaires pour charger avec succès la classe distante EJB.
Le SEI doit être généré dans le dossier, sei, à l'intérieur du dossier de génération, tel que fourni par l'utilisateur dans la règle le dossier de génération, tel que fourni par l'utilisateur dans la règle properties. Le package SEI correspond au package EJB remote interface et le nom du SEI sera le même que celui de l'interface distante EJB avec le mot SEI ajouté. En outre, le nouveau dossier SEI est ajouté au chemin de la classe du projet.
- Composants de la classe Java :
Comme pour les composants EJB, le correctif automatisé génère une interface de point final de service à partir de la classe définie dans l'attribut <class-name> à partir de la classe Java définie dans l'attribut <nom de la classe>.
- 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 du nouveau SEI qui sera créé qui sera créée.
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>.
La correction automatisée n'utilisera pas les informations fournies dans d'autres éléments, tels que <handlers-chain>, <types>, <opérations>, <sécurité>, 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 n'est générée que si vous ne pouvez pas localiser le fichier WSDL tel qu'il est défini dans 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 que vous avez produit le script Ant, visualisez-le et ajoutez des personnalisations supplémentaires 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.