2010-12-05 39 views
1

J'ai un client pour un service web tiers qui a dû être créé en utilisant l'outil Azis WSDL2Java. Chaque requête Web doit être chiffrée à l'aide d'un gestionnaire de chiffrement fourni par la 3ème partie et les réponses entrantes peuvent être déchiffrées dans le même format. Tout cela fonctionne très bien, sauf que j'ai les gestionnaires spécifiés dans un client-config.wsdd dans les ressources src/main/de mon pot. l'un des paramètres du client-config est un nom d'utilisateur et l'un est l'emplacement d'un fichier clé. Cela devra être déployé dans de nombreux environnements différents où l'utilisateur et l'emplacement des clés seront différents, et il ne sera pas possible de changer les valeurs à chaque fois puis de les reconstruire. Est-ce que je peux soit passer des paramètres à mon wsdd ou placer le wsdd dans le répertoire $ JBOSS_HOME/server // conf etc? (J'utilise JBoss 5.1.0.GA)La configuration de l'Axe Client-Config.wsdd peut-elle être récupérée à partir de JBoss?

Le WSDD ressemble à ceci

<?xml version='1.0'?> 
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 
    <globalConfiguration> 
    <requestFlow> 
    <handler name="EncryptionHandler" type="java:com.3rdparty.services.util.EncryptionHandler" > 
    <parameter name="userName" value="myuser"/> 
    <parameter name="keyFile" value="/jboss-5.1.0.GA/server/<name>/conf/my.key"/> 
    <parameter name="passwordCallbackClass" value="com.3rdparty.security.client.PWCallback"/> 
    </handler> 
    </requestFlow> 
    <responseFlow> 
    <handler name="DecryptionHandler" type="java:com.3rdparty.services.util.DecryptionHandler" > 
    <parameter name="userName" value="myuser"/> 
    <parameter name="keyFile" value="/jboss-5.1.0.GA/server/<name>/conf/my.key"/> 
    </handler> 
    </responseFlow> 
    </globalConfiguration> 
    <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/> 
<transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/> 
<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/> 
</deployment> 

Répondre

1

Vous pouvez utiliser la propriété système axis.ClientConfigFile pour spécifier un répertoire particulier du fichier client-config.wsdd.

+0

Merci! Je vais regarder dans ce :-) – rainyday

+0

travaillé un régal merci – rainyday

+0

Ne pas oublier de l'accepter si c'est acceptable! :) – btiernay