Axis1.4でベーシック認証

Axis1.4を使ったWebServiceの呼び出しでベーシック認証を通過する方法です。

org.apache.axis.client.StubクラスのJavaDocに方法が書いてありました。Stubクラスの_setPropertyメソッドを使ってユーザ名、パスワードを設定せよとのこと。

WSDL2Javaを使って生成したスタブを利用した場合、下記のコードでOKでした。

XxxServiceLocator locator = new XxxServiceLocator();
Xxx_PortType request = locator.getXxx();
XxxSoapBindingStub stub = (XxxSoapBindingStub stub) request;
stub._setProperty(Call.USERNAME_PROPERTY, "ユーザID");
stub._setProperty(Call.PASSWORD_PROPERTY, "パスワード");

ResponseXxx response = request.xxx(arg1, arg2, argX);

これがスマートな方法かどうかは分かりません。。。