2017-03-23 20 views
0

은과 UsernameToken (비밀번호 포함하지 않고) 및 SecurityContextToken을 포함하여 보안 헤더를 다음 필요 :SOAP 보안 헤더 - CXF CXF를 사용

이 가 가

액션 WSHandlerConstants.USERNAME_TOKEN_NO_PASSWORD를 사용하고 WSS4JOutInterceptor에 넣어 시도하지만 CXF가 발생

 <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
     <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="123"> 
      <wsse:Username>USER</wsse:Username> 
     </wsse:UsernameToken> 
     <wsc:SecurityContextToken xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"> 
      <wsc:Identifier>TOKEN</wsc:Identifier> 
     </wsc:SecurityContextToken> 
    </wsse:Security> 
예외 "정의 된 알 수없는 동작 : UsernameTokenNoPassword".

어떻게이 두 요소를 헤더에 넣을 수 있습니까?

답변

1

오류는 https://issues.apache.org/jira/browse/WSS-604 (방금 수정했습니다)으로 인해 발생합니다.

+0

감사합니다. Colm. SecurityContextToken은 WSHandler를 통해 추가 할 수 있습니까? – Misha

+0

직접적으로. CallbackHandler에서 토큰을 가져 오는 "CustomToken"액션을 통해 추가 할 수 있습니다. –

+0

WSSecurityUtil에서 CustomToken 작업을 찾을 수 없으므로 props.put (WSHandlerConstants.ACTION, WSHandlerConstants.CUSTOM_TOKEN)과 같은 작업으로 추가하면 "알 수없는 작업이 정의되었습니다 : CustomToken"예외가 발생합니다. – Misha