可以从JBoss中获取Axis Client-Config.wsdd配置吗?

时间:2010-12-05 23:30:58

标签: axis2 jboss5.x

我有一个第三方Web服务的客户端,必须使用Azis WSDL2Java工具创建。必须使用第三方提供的加密处理程序对每个Web请求进行加密,并且传入的响应myst将以相同的格式进行解密。这一切都很好用,除了我在jar的src / main / resources中的client-config.wsdd中指定了处理程序。 client-config的其中一个参数是用户名,一个是密钥文件的位置。这将需要部署到用户和密钥位置不同的许多不同环境中,并且每次重建时更改值都是不可行的。有没有办法可以将参数传递给我的wsdd或将wsdd放在$ JBOSS_HOME / server // conf文件夹中? (我使用的是JBoss 5.1.0.GA)

wsdd看起来像这样

<?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>

1 个答案:

答案 0 :(得分:1)

您可以使用系统属性axis.ClientConfigFile指定client-config.wsdd文件的特定目录。