Axis2 と Rampart を使用するクライアント アプリを修正しようとしています。アプリは、複数の認証情報セットを使用して同じ API にアクセスします。現在、パスワード コールバック クラスは、使用する資格情報を決定するために、axis2.xml ファイル内のユーザーに依存しています。単一のユーザーしか許可されないため、これは明らかに機能しません。誰かが私にそれを行う正しい方法を説明してもらえますか?
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 に答える