wsdl2java с базовой аутентификацией (Axis 1.6.1) - PullRequest
3 голосов
/ 13 октября 2011

Я использую wsdl2java для генерации моего кода Java-заглушки для веб-службы.

Я знаю, что с 1.4 возникла ошибка, из-за которой не удалось получить доступ к источнику wsdl, который требует базовой аутентификации HTTP. Вы получите ошибку 401, потому что авторизация была отклонена, и нет возможности указать учетные данные.

Кто-нибудь знает, была ли решена эта проблема или есть кто-то обходной путь для этого? Возможно, я могу настроить прокси-сервер, но это слишком хлопотно для меня, я ищу что-то простое:)

Ответы [ 3 ]

2 голосов
/ 14 февраля 2012

вы можете попробовать как это

...
serviceStub = new TestBeanServiceStub("<WEB SERVICE URL>"); // Set your value
HttpTransportProperties.Authenticator basicAuthenticator = new HttpTransportProperties.Authenticator();
List<String> authSchemes = new ArrayList<String>();
authSchemes.add(Authenticator.BASIC);
basicAuthenticator.setAuthSchemes(authSchemes); 
basicAuthenticator.setUsername("<UserName>"); // Set your value
basicAuthenticator.setPassword("<Password>"); // Set your value
basicAuthenticator.setPreemptiveAuthentication(true);
serviceStub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, basicAuthenticator);
serviceStub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, "false");
...
0 голосов
/ 29 мая 2019

Вы можете передать имя пользователя и пароль в URL следующим образом: http://username:password@example.com/wsdl Это работает для меня по оси: 1.7.9

0 голосов
/ 16 декабря 2015

В качестве обходного пути я скачал файл wsdl вручную (с помощью моего браузера), сохранил его вместе с моим кодом и указал wsdl2java на мою локальную копию.

...