2010-12-05 22 views
1

我有必須使用Azis WSDL2Java工具創建的第三方Web服務的客戶端。每個Web請求必須使用由第三方提供的加密處理程序加密,並且傳入的響應myst將以相同的格式進行解密。除了我的jar包的src/main/resources中的client-config.wsdd中指定了處理程序外,這一切都運行良好。 client-config的其中一個參數是用戶名,一個是密鑰文件的位置。這需要部署到用戶和密鑰位置不同的許多不同環境中,每次重建時都不可能更改這些值。有沒有辦法,我可以通過參數傳遞給我的wsdd,或者將wsdd放在$ JBOSS_HOME/server/conf文件夾等中? (我使用JBoss 5.1.0.GA)可以從JBoss獲取Can Axis Client-Config.wsdd配置嗎?

的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

您可以使用系統屬性axis.ClientConfigFile指定client-config.wsdd文件的特定目錄。

+0

謝謝!我會研究:-) – rainyday 2010-12-06 09:59:57

相關問題