0

我正在尝试修复使用 Axis2 和 Rampart 的客户端应用程序。该应用程序将使用多组凭据访问相同的 API。目前,密码回调类依赖于 axis2.xml 文件中的用户来确定要使用的凭据。这显然行不通,因为它只允许单个用户。有人可以向我解释正确的方法吗?

4

1 回答 1

0

我在http://www.ibm.com/developerworks/java/library/j-jws4/找到了一个有用的示例。我摆脱了axis2.xml 中的OutflowSecurity 参数。我也摆脱了密码回调类。我添加了一个 policy.xml 文件和一些代码来加载它。我使用此代码提供用户名和密码:

// Prepare the client
PartnerAPIStub stub = stubProvider.getStub();
ServiceClient client = stub._getServiceClient();
client.engageModule("rampart");
org.apache.axis2.client.Options options = client.getOptions();
options.setProperty(RampartMessageData.KEY_RAMPART_OUT_POLICY, policy);
options.setUserName(account.getApiUser());
options.setPassword(account.getApiPassword());

// Send the request
RetrieveResponseMsg response = stub.retrieve(requestDoc).getRetrieveResponseMsg();
于 2013-12-19T20:17:21.907 回答