0
利用CXF和需要以下安全頭,包括用戶名令牌(無密碼)和的SecurityContextToken:SOAP安全標頭的UsernameToken和的SecurityContextToken - 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>
試圖用行動WSHandlerConstants.USERNAME_TOKEN_NO_PASSWORD並把它放在WSS4JOutInterceptor但CXF拋出「定義未知操作:UsernameTokenNoPassword」異常。
如何將這兩個元素放到標題中?
謝謝,Colm。關於SecurityContextToken是什麼,是否可以通過WSHandler添加它? – Misha
不直接。您可以通過一個「CustomToken」操作來添加它,該操作從CallbackHandler中獲取一個標記。 –
我無法在WSSecurityUtil中找到CustomToken動作,因此,如果我將其添加爲props.put(WSHandlerConstants.ACTION,WSHandlerConstants.CUSTOM_TOKEN)之類的動作,則會發生異常「定義未知操作:CustomToken」; – Misha