Java Code Examples for org.apache.cxf.headers.Header#getObject()
The following examples show how to use
org.apache.cxf.headers.Header#getObject() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: UsernameTokenInterceptor.java From cxf with Apache License 2.0 | 6 votes |
protected void addToken(SoapMessage message) { UsernameToken tok = assertTokens(message); Header h = findSecurityHeader(message, true); Element el = (Element)h.getObject(); Document doc = el.getOwnerDocument(); WSSecUsernameToken utBuilder = addUsernameToken(message, doc, tok); if (utBuilder == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = PolicyUtils.getAllAssertionsByLocalname(aim, SPConstants.USERNAME_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } utBuilder.prepare(); el.appendChild(utBuilder.getUsernameTokenElement()); }
Example 2
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 6 votes |
private void addSamlToken(SoapMessage message) { WSSConfig.init(); SamlToken tok = assertSamlTokens(message); Header h = findSecurityHeader(message, true); try { AssertionWrapper wrapper = addSamlToken(tok, message); if (wrapper == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = aim.getAssertionInfo(SP12Constants.SAML_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } Element el = (Element)h.getObject(); el.appendChild(wrapper.toDOM(el.getOwnerDocument())); } catch (WSSecurityException ex) { policyNotAsserted(tok, ex.getMessage(), message); } }
Example 3
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 6 votes |
private void addSamlToken(SoapMessage message) { WSSConfig.init(); SamlToken tok = assertSamlTokens(message); Header h = findSecurityHeader(message, true); try { AssertionWrapper wrapper = addSamlToken(tok, message); if (wrapper == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = aim.getAssertionInfo(SP12Constants.SAML_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } Element el = (Element)h.getObject(); el.appendChild(wrapper.toDOM(el.getOwnerDocument())); } catch (WSSecurityException ex) { policyNotAsserted(tok, ex.getMessage(), message); } }
Example 4
Source File: UsernameTokenInterceptor.java From steady with Apache License 2.0 | 6 votes |
private void addUsernameToken(SoapMessage message) { UsernameToken tok = assertUsernameTokens(message, null); Header h = findSecurityHeader(message, true); WSSecUsernameToken utBuilder = addUsernameToken(message, tok); if (utBuilder == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = aim.getAssertionInfo(SP12Constants.USERNAME_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } Element el = (Element)h.getObject(); utBuilder.prepare(el.getOwnerDocument()); el.appendChild(utBuilder.getUsernameTokenElement()); }
Example 5
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 6 votes |
private void addSamlToken(SoapMessage message) { WSSConfig.init(); SamlToken tok = assertSamlTokens(message); Header h = findSecurityHeader(message, true); try { AssertionWrapper wrapper = addSamlToken(tok, message); if (wrapper == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = aim.getAssertionInfo(SP12Constants.SAML_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } Element el = (Element)h.getObject(); el.appendChild(wrapper.toDOM(el.getOwnerDocument())); } catch (WSSecurityException ex) { policyNotAsserted(tok, ex.getMessage(), message); } }
Example 6
Source File: UsernameTokenInterceptor.java From steady with Apache License 2.0 | 6 votes |
private void addUsernameToken(SoapMessage message) { UsernameToken tok = assertUsernameTokens(message, null); Header h = findSecurityHeader(message, true); WSSecUsernameToken utBuilder = addUsernameToken(message, tok); if (utBuilder == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = aim.getAssertionInfo(SP12Constants.USERNAME_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } Element el = (Element)h.getObject(); utBuilder.prepare(el.getOwnerDocument()); el.appendChild(utBuilder.getUsernameTokenElement()); }
Example 7
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 6 votes |
private void addSamlToken(SoapMessage message) { WSSConfig.init(); SamlToken tok = assertSamlTokens(message); Header h = findSecurityHeader(message, true); try { AssertionWrapper wrapper = addSamlToken(tok, message); if (wrapper == null) { AssertionInfoMap aim = message.get(AssertionInfoMap.class); Collection<AssertionInfo> ais = aim.getAssertionInfo(SP12Constants.SAML_TOKEN); for (AssertionInfo ai : ais) { if (ai.isAsserted()) { ai.setAsserted(false); } } return; } Element el = (Element)h.getObject(); el.appendChild(wrapper.toDOM(el.getOwnerDocument())); } catch (WSSecurityException ex) { policyNotAsserted(tok, ex.getMessage(), message); } }
Example 8
Source File: OperationExecutionSOAPRequestInInterceptor.java From kieker with Apache License 2.0 | 5 votes |
private final String getStringContentFromHeader(final Header hdr) { if (hdr == null) { return null; } if (hdr.getObject() instanceof Element) { final Element e = (Element) hdr.getObject(); return DOMUtils.getContent(e); } return null; }
Example 9
Source File: RMSoapOutInterceptorTest.java From cxf with Apache License 2.0 | 5 votes |
private void verifyHeaders(SoapMessage message, String... names) { List<Header> headers = new ArrayList<>(message.getHeaders()); // check all expected headers are present for (String name : names) { boolean found = false; Iterator<Header> iter = headers.iterator(); while (iter.hasNext()) { Header header = iter.next(); Object obj = header.getObject(); String namespace = header.getName().getNamespaceURI(); String localName = header.getName().getLocalPart(); if (obj instanceof Element) { Element elem = (Element) obj; namespace = elem.getNamespaceURI(); localName = elem.getLocalName(); } if (RM10Constants.NAMESPACE_URI.equals(namespace) && localName.equals(name)) { found = true; iter.remove(); break; } else if (Names.WSA_NAMESPACE_NAME.equals(namespace) && localName.equals(name)) { found = true; iter.remove(); break; } } assertTrue("Could not find header element " + name, found); } // no other headers should be present assertTrue(headers.isEmpty()); }
Example 10
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 5 votes |
private void processSamlToken(SoapMessage message) { Header h = findSecurityHeader(message, false); if (h == null) { return; } Element el = (Element)h.getObject(); Element child = DOMUtils.getFirstElement(el); while (child != null) { if ("Assertion".equals(child.getLocalName())) { try { List<WSSecurityEngineResult> samlResults = processToken(child, message); if (samlResults != null) { List<WSHandlerResult> results = CastUtils.cast((List<?>)message .get(WSHandlerConstants.RECV_RESULTS)); if (results == null) { results = new ArrayList<WSHandlerResult>(); message.put(WSHandlerConstants.RECV_RESULTS, results); } WSHandlerResult rResult = new WSHandlerResult(null, samlResults); results.add(0, rResult); assertSamlTokens(message); Principal principal = (Principal)samlResults.get(0).get(WSSecurityEngineResult.TAG_PRINCIPAL); message.put(WSS4JInInterceptor.PRINCIPAL_RESULT, principal); SecurityContext sc = message.get(SecurityContext.class); if (sc == null || sc.getUserPrincipal() == null) { message.put(SecurityContext.class, new DefaultSecurityContext(principal, null)); } } } catch (WSSecurityException ex) { throw new Fault(ex); } } child = DOMUtils.getNextElement(child); } }
Example 11
Source File: PolicyBasedWSS4JInInterceptor.java From cxf with Apache License 2.0 | 5 votes |
private boolean containsSecurityHeader(SoapMessage message, String actor, boolean soap12) throws WSSecurityException { String actorLocal = WSConstants.ATTR_ACTOR; String soapNamespace = WSConstants.URI_SOAP11_ENV; if (soap12) { actorLocal = WSConstants.ATTR_ROLE; soapNamespace = WSConstants.URI_SOAP12_ENV; } // // Iterate through the security headers // for (Header h : message.getHeaders()) { QName n = h.getName(); if (WSConstants.WSSE_LN.equals(n.getLocalPart()) && (n.getNamespaceURI().equals(WSS4JConstants.WSSE_NS) || n.getNamespaceURI().equals(WSS4JConstants.OLD_WSSE_NS))) { Element elem = (Element)h.getObject(); Attr attr = elem.getAttributeNodeNS(soapNamespace, actorLocal); String hActor = (attr != null) ? attr.getValue() : null; if (WSSecurityUtil.isActorEqual(actor, hActor)) { return true; } } } return false; }
Example 12
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 5 votes |
private void processSamlToken(SoapMessage message) { Header h = findSecurityHeader(message, false); if (h == null) { return; } Element el = (Element)h.getObject(); Element child = DOMUtils.getFirstElement(el); while (child != null) { if ("Assertion".equals(child.getLocalName())) { try { List<WSSecurityEngineResult> samlResults = processToken(child, message); if (samlResults != null) { List<WSHandlerResult> results = CastUtils.cast((List<?>)message .get(WSHandlerConstants.RECV_RESULTS)); if (results == null) { results = new ArrayList<WSHandlerResult>(); message.put(WSHandlerConstants.RECV_RESULTS, results); } WSHandlerResult rResult = new WSHandlerResult(null, samlResults); results.add(0, rResult); assertSamlTokens(message); Principal principal = (Principal)samlResults.get(0).get(WSSecurityEngineResult.TAG_PRINCIPAL); message.put(WSS4JInInterceptor.PRINCIPAL_RESULT, principal); SecurityContext sc = message.get(SecurityContext.class); if (sc == null || sc.getUserPrincipal() == null) { message.put(SecurityContext.class, new DefaultSecurityContext(principal, null)); } } } catch (WSSecurityException ex) { throw new Fault(ex); } } child = DOMUtils.getNextElement(child); } }
Example 13
Source File: SAAJInInterceptorTest.java From cxf with Apache License 2.0 | 5 votes |
@Test public void testHandleHeader() { try { prepareSoapMessage("../test-soap-header.xml"); } catch (IOException ioe) { fail("Failed in creating soap message"); } staxIntc.handleMessage(soapMessage); rhi.handleMessage(soapMessage); sbi.handleMessage(soapMessage); saajIntc.handleMessage(soapMessage); // check the xmlReader should be placed on the first entry of the body // element XMLStreamReader xmlReader = soapMessage.getContent(XMLStreamReader.class); assertEquals("check the first entry of body", "itinerary", xmlReader.getLocalName()); List<Header> eleHeaders = soapMessage.getHeaders(); List<Element> headerChilds = new ArrayList<>(); Iterator<Header> iter = eleHeaders.iterator(); while (iter.hasNext()) { Header hdr = iter.next(); if (hdr.getObject() instanceof Element) { headerChilds.add((Element) hdr.getObject()); } } assertEquals(2, headerChilds.size()); }
Example 14
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 5 votes |
private void processSamlToken(SoapMessage message) { Header h = findSecurityHeader(message, false); if (h == null) { return; } Element el = (Element)h.getObject(); Element child = DOMUtils.getFirstElement(el); while (child != null) { if ("Assertion".equals(child.getLocalName())) { try { List<WSSecurityEngineResult> samlResults = processToken(child, message); if (samlResults != null) { List<WSHandlerResult> results = CastUtils.cast((List<?>)message .get(WSHandlerConstants.RECV_RESULTS)); if (results == null) { results = new ArrayList<WSHandlerResult>(); message.put(WSHandlerConstants.RECV_RESULTS, results); } WSHandlerResult rResult = new WSHandlerResult(null, samlResults); results.add(0, rResult); assertSamlTokens(message); Principal principal = (Principal)samlResults.get(0).get(WSSecurityEngineResult.TAG_PRINCIPAL); message.put(WSS4JInInterceptor.PRINCIPAL_RESULT, principal); SecurityContext sc = message.get(SecurityContext.class); if (sc == null || sc.getUserPrincipal() == null) { message.put(SecurityContext.class, new DefaultSecurityContext(principal, null)); } } } catch (WSSecurityException ex) { throw new Fault(ex); } } child = DOMUtils.getNextElement(child); } }
Example 15
Source File: BinarySecurityTokenInterceptor.java From cxf with Apache License 2.0 | 5 votes |
protected void addToken(SoapMessage message) { SecurityToken securityToken = getSecurityToken(message); if (securityToken == null || securityToken.getToken() == null) { // No SecurityToken so just return return; } assertTokens(message); Header h = findSecurityHeader(message, true); Element el = (Element)h.getObject(); el.appendChild(el.getOwnerDocument().importNode(securityToken.getToken(), true)); }
Example 16
Source File: SamlTokenInterceptor.java From steady with Apache License 2.0 | 5 votes |
private void processSamlToken(SoapMessage message) { Header h = findSecurityHeader(message, false); if (h == null) { return; } Element el = (Element)h.getObject(); Element child = DOMUtils.getFirstElement(el); while (child != null) { if ("Assertion".equals(child.getLocalName())) { try { List<WSSecurityEngineResult> samlResults = processToken(child, message); if (samlResults != null) { List<WSHandlerResult> results = CastUtils.cast((List<?>)message .get(WSHandlerConstants.RECV_RESULTS)); if (results == null) { results = new ArrayList<WSHandlerResult>(); message.put(WSHandlerConstants.RECV_RESULTS, results); } WSHandlerResult rResult = new WSHandlerResult(null, samlResults); results.add(0, rResult); assertSamlTokens(message); Principal principal = (Principal)samlResults.get(0).get(WSSecurityEngineResult.TAG_PRINCIPAL); message.put(WSS4JInInterceptor.PRINCIPAL_RESULT, principal); SecurityContext sc = message.get(SecurityContext.class); if (sc == null || sc.getUserPrincipal() == null) { message.put(SecurityContext.class, new DefaultSecurityContext(principal, null)); } } } catch (WSSecurityException ex) { throw new Fault(ex); } } child = DOMUtils.getNextElement(child); } }
Example 17
Source File: UsernameTokenInterceptor.java From steady with Apache License 2.0 | 4 votes |
private void processUsernameToken(SoapMessage message) { Header h = findSecurityHeader(message, false); if (h == null) { return; } Element el = (Element)h.getObject(); Element child = DOMUtils.getFirstElement(el); while (child != null) { if (SPConstants.USERNAME_TOKEN.equals(child.getLocalName())) { try { final WSUsernameTokenPrincipal princ = getPrincipal(child, message); if (princ != null) { List<WSSecurityEngineResult>v = new ArrayList<WSSecurityEngineResult>(); int action = WSConstants.UT; if (princ.getPassword() == null) { action = WSConstants.UT_NOPASSWORD; } v.add(0, new WSSecurityEngineResult(action, princ, null, null, null)); List<WSHandlerResult> results = CastUtils.cast((List<?>)message .get(WSHandlerConstants.RECV_RESULTS)); if (results == null) { results = new ArrayList<WSHandlerResult>(); message.put(WSHandlerConstants.RECV_RESULTS, results); } WSHandlerResult rResult = new WSHandlerResult(null, v); results.add(0, rResult); assertUsernameTokens(message, princ); message.put(WSS4JInInterceptor.PRINCIPAL_RESULT, princ); SecurityContext sc = message.get(SecurityContext.class); if (sc == null || sc.getUserPrincipal() == null) { Subject subject = createSubject(princ.getName(), princ.getPassword(), princ.isPasswordDigest(), princ.getNonce(), princ.getCreatedTime()); message.put(SecurityContext.class, createSecurityContext(princ, subject)); } } } catch (WSSecurityException ex) { throw new Fault(ex); } } child = DOMUtils.getNextElement(child); } }
Example 18
Source File: SonosService.java From airsonic with GNU General Public License v3.0 | 4 votes |
private String getUsername() { MessageContext messageContext = context.getMessageContext(); if (messageContext == null || !(messageContext instanceof WrappedMessageContext)) { LOG.error("Message context is null or not an instance of WrappedMessageContext."); return null; } Message message = ((WrappedMessageContext) messageContext).getWrappedMessage(); List<Header> headers = CastUtils.cast((List<?>) message.get(Header.HEADER_LIST)); if (headers != null) { for (Header h : headers) { Object o = h.getObject(); // Unwrap the node using JAXB if (o instanceof Node) { JAXBContext jaxbContext; try { // TODO: Check performance jaxbContext = new JAXBDataBinding(Credentials.class).getContext(); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); o = unmarshaller.unmarshal((Node) o); } catch (JAXBException e) { // failed to get the credentials object from the headers LOG.error("JAXB error trying to unwrap credentials", e); } } if (o instanceof Credentials) { Credentials c = (Credentials) o; // Note: We're using the username as session ID. String username = c.getSessionId(); if (username == null) { LOG.debug("No session id in credentials object, get from login"); username = c.getLogin().getUsername(); } return username; } else { LOG.error("No credentials object"); } } } else { LOG.error("No headers found"); } return null; }
Example 19
Source File: SonosService.java From subsonic with GNU General Public License v3.0 | 4 votes |
private String getUsername() { MessageContext messageContext = context.getMessageContext(); if (messageContext == null || !(messageContext instanceof WrappedMessageContext)) { LOG.error("Message context is null or not an instance of WrappedMessageContext."); return null; } Message message = ((WrappedMessageContext) messageContext).getWrappedMessage(); List<Header> headers = CastUtils.cast((List<?>) message.get(Header.HEADER_LIST)); if (headers != null) { for (Header h : headers) { Object o = h.getObject(); // Unwrap the node using JAXB if (o instanceof Node) { JAXBContext jaxbContext; try { // TODO: Check performance jaxbContext = new JAXBDataBinding(Credentials.class).getContext(); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); o = unmarshaller.unmarshal((Node) o); } catch (JAXBException e) { // failed to get the credentials object from the headers LOG.error("JAXB error trying to unwrap credentials", e); } } if (o instanceof Credentials) { Credentials c = (Credentials) o; // Note: We're using the username as session ID. String username = c.getSessionId(); if (username == null) { LOG.debug("No session id in credentials object, get from login"); username = c.getLogin().getUsername(); } return username; } else { LOG.error("No credentials object"); } } } else { LOG.error("No headers found"); } return null; }
Example 20
Source File: UsernameTokenInterceptor.java From steady with Apache License 2.0 | 4 votes |
private void processUsernameToken(SoapMessage message) { Header h = findSecurityHeader(message, false); if (h == null) { return; } Element el = (Element)h.getObject(); Element child = DOMUtils.getFirstElement(el); while (child != null) { if (SPConstants.USERNAME_TOKEN.equals(child.getLocalName())) { try { final WSUsernameTokenPrincipal princ = getPrincipal(child, message); if (princ != null) { List<WSSecurityEngineResult>v = new ArrayList<WSSecurityEngineResult>(); int action = WSConstants.UT; if (princ.getPassword() == null) { action = WSConstants.UT_NOPASSWORD; } v.add(0, new WSSecurityEngineResult(action, princ, null, null, null)); List<WSHandlerResult> results = CastUtils.cast((List<?>)message .get(WSHandlerConstants.RECV_RESULTS)); if (results == null) { results = new ArrayList<WSHandlerResult>(); message.put(WSHandlerConstants.RECV_RESULTS, results); } WSHandlerResult rResult = new WSHandlerResult(null, v); results.add(0, rResult); assertUsernameTokens(message, princ); message.put(WSS4JInInterceptor.PRINCIPAL_RESULT, princ); SecurityContext sc = message.get(SecurityContext.class); if (sc == null || sc.getUserPrincipal() == null) { Subject subject = createSubject(princ.getName(), princ.getPassword(), princ.isPasswordDigest(), princ.getNonce(), princ.getCreatedTime()); message.put(SecurityContext.class, createSecurityContext(princ, subject)); } } } catch (WSSecurityException ex) { throw new Fault(ex); } } child = DOMUtils.getNextElement(child); } }