2013-06-11 4 views
3

서비스를 제공하는 기본 SOAP 서비스 엔드 포인트, 실제로 SAP ECC가 있습니다. SOAPUI 4.5를 사용하여 서비스를 테스트했으며, HTTP Auth를 사용하여 확인 작업을 수행합니다. 아웃 바운드 "Authorization : Basic BASE64"가 표시되고 서비스가 적절하게 응답합니다.Java SAAJ 기본 인증

이제 이것을 Java로 롤업하려고합니다. 내가 SAAJ는 SOAP 메시지를 제어 할 수있는 수단을 제공 있다고 생각

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 접근 방식을 취할 것이라고 생각 에서? 고려할 가치가있는 대안이 있습니까? 이 페이지에서

답변

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

위대한 발견 ... –