Comment créer un fichier EAR avec des fichiers de règles inclus à l'aide des tâches Ant WLS?
-
03-07-2019 - |
Question
Je travaillais avec JAX-WS avec Weblogic Server, en utilisant leurs tâches Ant pour créer des fichiers EAR pouvant être déployés sur le serveur. J'ai reçu des appels SOAP de base pour travailler avec JAX-WS, mais j'essaie maintenant d'ajouter une sécurité au niveau du message via WS-Security.
Selon la documentation , il existe deux manières d'ajouter les politiques de sécurité aux services Web. La première consiste à utiliser des annotations sur la source Java elle-même, mais signifie que les stratégies sont définies pour toujours. La deuxième méthode consiste à ajouter les fichiers de stratégie au fichier EAR, puis à permettre à l'administrateur de définir les stratégies pour le post-déploiement des services Web.
Bien que la documentation mentionne où vous devez placer les fichiers de stratégie , il ne parvient pas à expliquer comment ajouter automatiquement ces fichiers de règles lorsque effectue une construction. avec Ant . Il serait totalement trop laborieux de tester pour ajouter les fichiers de règles manuellement chaque fois que je construis / redéploie le fichier EAR. Voici le code Ant que j’utilise actuellement pour construire le fichier EAR:
<target name="build-service">
<jwsc source" srcdir="java" destdir="${ear-dir}">
<jws file="SoapService.java" type="JAXWS"/>
</jwsc>
</target>
Comment créer automatiquement un fichier EAR avec des fichiers de stratégie au bon emplacement? Je suis particulièrement intéressé par sa construction dans les politiques WEB-INF / du fichier Java WAR. Vous pouvez supposer que j'ai les fichiers de règles sous la main et que je peux les référencer avant de les construire.
La solution
Pour mémoire, la solution consiste à utiliser < module > en conjonction avec < zipfileset >:
<target name="build-service">
<jwsc srcdir="java" destdir="${ear-dir}">
<module>
<jws file="SoapService.java" type="JAXWS"/>
<zipfileset dir="." prefix="WEB-INF/policies">
<include name="mypolicy.xml"/>
</zipfileset>
</module>
</jwsc>
</target>