2013-06-11 3 views
3

У меня есть базовая конечная точка службы SOAP, на самом деле SAP ECC, представляющая сервис. Я тестировал сервис, используя SOAPUI 4.5, и он работает нормально, используя HTTP Auth, упреждающий взглядом вещей. Я вижу исходящий «Авторизация: базовый BASE64», и служба отвечает соответствующим образом.Java SAAJ Базовая аутентификация

Теперь я пытаюсь перевернуть это на Java. Я думал, что я хотел бы взять SAAJ подход с:.

SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); 
SOAPConnection soapConnection = soapConnectionFactory.createConnection(); 
String url = "http://SAPSERVER:8006/sap/bc/srt/rfc/sap/z_lookup_generic_prototype/300/z_user/z_user_binding"; 
SOAPMessage message = messageFactory.createMessage(); 
SOAPMessage response = connection.call(message, url); 

Но я не могу найти способ, чтобы добавить аутентификацию HTTP в Я считаю, что SAAJ предоставляет средства для управления сообщением SOAP, но как я могу добавить проверку подлинности в? Есть ли альтернативы, которые стоит рассмотреть?

ответ

11

С этой страницы: https://www.coderanch.com/how-to/java/WebServicesHowTo

SOAPMessage message = ... 
String authorization = new sun.misc.BASE64Encoder().encode((username+":"+password).getBytes()); 
MimeHeaders hd = message.getMimeHeaders(); 
hd.addHeader("Authorization", "Basic " + authorization); 
+0

Большая находка ... –

Смежные вопросы