2013-12-08 2 views
1

SOAPEnvelope MIME 헤더를 사용하여 권한을 선점하는 방법은 무엇입니까?자바 비누 클라이언트를 통한 사전 승인

SOAPEnvelope envelope = soapPart.getEnvelope(); 
MimeHeaders mimeHeaders = soapMessage.getMimeHeaders(); 
mimeHeaders.addHeader("Content-type", "text/xml"); 

String authorization = new sun.misc.BASE64Encoder().encode(("user:pass").getBytes()); 
mimeHeaders.addHeader("Authorization", "Basic " + authorization); 
+0

정확히이 문제는 무엇입니까? –

+0

비누 서비스는 이와 같이 호출 될 때 요청을 승인하지 않습니다. 공급 업체가 프리폼 사용 권한 유형을 사용하여 작동하도록했습니다. SoapUI로 테스트하는 동안 모든 것이 잘 작동하지만 내 클라이언트가 선취자 권한을 부여하는 방법을 알지 못합니다. – J33nn

+0

우선 '인증'이 SoapUI에서 보내는 것과 같은 값 (즉, 동일한 문자열)인지 디버그해야합니다. 'getBytes()'가 당신이 원하는 것일 수도 그렇지 않을 수도있는 플랫폼의 기본 인코딩을 사용한다고 생각해보십시오. –

답변

0

SOAPAction을 추가하십시오. 나는 또한 같은 문제에 직면했다. 필자의 경우 SOAPAction은 작업 이름입니다.

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

하나 이상의 질문에 동일한 답변을 게시하지 마십시오. 질문이 기본적으로 동일하면 [플래그로] (https://stackoverflow.com/privileges/flag-posts)를 중복으로 표시하십시오. 그렇지 않은 경우 질문에 대한 대답을 사용자 정의하십시오. –

관련 문제