Как пройти аутентификацию с SAAJ в запросе SOAP?

Я использую этот замечательный пример для создания простого SOA-клиента SAAJ для веб-службы IBM Watson Explorer Soap.

Пример рабочего мыльного клиента

Но я не могу заставить аутентификацию работать.

В вызове метода createSOAPRequest просто добавьте...

...
MimeHeaders headers = soapMessage.getMimeHeaders();
String encoded = new sun.misc.BASE64Encoder().encode((username+":"+password).getBytes());
String authString = "Basic " + encoded;
headers.addHeader("Authorization", authString);
headers.addHeader("SOAPAction", soapAction);
soapMessage.saveChanges();
...

Но это не сработает. Я пробовал много перестановок этого кода. Я делаю что-то неправильно? Также, как я узнаю, что сервису нужен BASE64Encoder?

0 ответов

Другие вопросы по тегам