Как выполнить базовую аутентификацию с помощью клиента Axis2 ADB? - PullRequest
14 голосов
/ 07 октября 2009

Я пытаюсь выяснить, как выполнить базовую аутентификацию с клиентом ADB Axis2 версии 1.5.

Я пытаюсь сделать следующее:

HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();
basicAuth.setUsername(username);
basicAuth.setPassword(password);
final Options clientOptions = serviceStub._getServiceClient().getOptions();
clientOptions.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);

Однако это не работает, и нужная строка в заголовке сообщения не добавляется.

Ответы [ 2 ]

18 голосов
/ 07 октября 2009

Получил ответ со следующего сайта:

http://www.inpc.de/blog/2007/05/axis2-12-basic-authentication.html

Видимо, мне не хватало:

basicAuth.setPreemptiveAuthentication(true);
2 голосов
/ 07 октября 2009

Я думаю, что вы близки, ваш код выглядит очень близко к этому ? Вот в чем разница:

clientOptions.setProperty(
   org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATION,
                basicAuth);
...