我有Apache Axis和Spring的问题。我在WS-Security中使用此类作为CallBackHandler来设置密码:
public class PasswordCallbackHandler implements CallbackHandler {
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
pwcb.setPassword("mysecretpassword");
}
}
}
我正在尝试在.properties中设置密码。我不能使用类路径资源,我的属性在classpath之外。这个类(PasswordCallbackHandler
)在我的Spring Context之外,所以我不能使用@Value
tag。
将此密码放在属性文件中的最佳方法是哪种?我试图使用raedicomws.crypto.properties
和raedicomws_client_config.wsdd
,但我无法使它工作。
你可以使用System.setProperty(“key”,“value”);使用@Value注释从.yml / .properties文件获取/读取属性的方法。然后你可以使用System.getProperty(“key”)获取设置数据; Axis方法的方法。我对CXF webservice采用了相同的方法(相同的安全方法)并且它已经有效。