@Override protected Map<String, Object> extractUserDefinedHeaders(SoapMessage source) { Map<String, Object> headers = new HashMap<String, Object>(); SoapHeader soapHeader = source.getSoapHeader(); if (soapHeader != null) { Iterator<?> attributeIter = soapHeader.getAllAttributes(); while (attributeIter.hasNext()) { Object name = attributeIter.next(); if (name instanceof QName) { String qnameString = QNameUtils.toQualifiedName((QName) name); String value = soapHeader.getAttributeValue((QName) name); if (value != null) { headers.put(qnameString, value); } } } Iterator<?> elementIter = soapHeader.examineAllHeaderElements(); while (elementIter.hasNext()) { Object element = elementIter.next(); if (element instanceof SoapHeaderElement) { QName qname = ((SoapHeaderElement) element).getName(); String qnameString = QNameUtils.toQualifiedName(qname); headers.put(qnameString, element); } } } return headers; }
@Test public void testCustomSoapHeader() { DefaultSoapHeaderMapper mapper = new DefaultSoapHeaderMapper(); mapper.setReplyHeaderNames("x:attr", "x:elem"); SoapMessage soapMessage = mock(SoapMessage.class); SoapHeader soapHeader = mock(SoapHeader.class); @SuppressWarnings("unchecked") Iterator<QName> attrIterator = mock(Iterator.class); QName attribute = new QName("http://x", "attr", "x"); @SuppressWarnings("unchecked") Iterator<SoapHeaderElement> elementIterator = mock(Iterator.class); SoapHeaderElement soapHeaderElement = mock(SoapHeaderElement.class); QName element = new QName("http://x", "elem", "x"); when(soapMessage.getSoapHeader()).thenReturn(soapHeader); when(soapHeader.getAllAttributes()).thenReturn(attrIterator); when(attrIterator.hasNext()).thenReturn(true).thenReturn(false); when(attrIterator.next()).thenReturn(attribute); when(soapHeader.getAttributeValue(attribute)).thenReturn("attrValue"); when(soapHeader.examineAllHeaderElements()).thenReturn(elementIterator); when(elementIterator.hasNext()).thenReturn(true).thenReturn(false); when(elementIterator.next()).thenReturn(soapHeaderElement); when(soapHeaderElement.getName()).thenReturn(element); Map<String, Object> headers = mapper.toHeadersFromReply(soapMessage); assertEquals(2, headers.size()); assertEquals("attrValue", headers.get("x:attr")); assertSame(soapHeaderElement, headers.get("x:elem")); }
private SoapHeaderElement extractSoapHeader(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { return e; } } return null; }
private SoapHeaderElement extractSoapHeader(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { return e; } } return null; }
private SoapHeaderElement extractSoapHeader(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { return e; } } return null; }
private List<SoapHeaderElement> extractSoapHeaderList(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { List<SoapHeaderElement> result = new ArrayList<SoapHeaderElement>(); Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { result.add(e); } } return result; } }
private SoapHeaderElement extractSoapHeader(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { return e; } } return null; }
private List<SoapHeaderElement> extractSoapHeaderList(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { List<SoapHeaderElement> result = new ArrayList<SoapHeaderElement>(); Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { result.add(e); } } return result; } }
private List<SoapHeaderElement> extractSoapHeaderList(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { List<SoapHeaderElement> result = new ArrayList<SoapHeaderElement>(); Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { result.add(e); } } return result; } }
private List<SoapHeaderElement> extractSoapHeaderList(QName qname, org.springframework.ws.soap.SoapHeader soapHeader) { List<SoapHeaderElement> result = new ArrayList<SoapHeaderElement>(); Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while (elements.hasNext()) { SoapHeaderElement e = elements.next(); if (e.getName().equals(qname)) { result.add(e); } } return result; } }
private boolean supports(AddressingVersion version, SoapMessage request) { SoapHeader header = request.getSoapHeader(); if (header != null) { for (Iterator<SoapHeaderElement> iterator = header.examineAllHeaderElements(); iterator.hasNext();) { SoapHeaderElement headerElement = iterator.next(); if (version.understands(headerElement)) { return true; } } } return false; }
private boolean supports(AddressingVersion version, SoapMessage request) { SoapHeader header = request.getSoapHeader(); if (header != null) { for (Iterator<SoapHeaderElement> iterator = header.examineAllHeaderElements(); iterator.hasNext();) { SoapHeaderElement headerElement = iterator.next(); if (version.understands(headerElement)) { return true; } } } return false; }
private boolean supports(AddressingVersion version, SoapMessage request) { SoapHeader header = request.getSoapHeader(); if (header != null) { for (Iterator<SoapHeaderElement> iterator = header.examineAllHeaderElements(); iterator.hasNext();) { SoapHeaderElement headerElement = iterator.next(); if (version.understands(headerElement)) { return true; } } } return false; }
private boolean supports(AddressingVersion version, SoapMessage request) { SoapHeader header = request.getSoapHeader(); if (header != null) { for (Iterator<SoapHeaderElement> iterator = header.examineAllHeaderElements(); iterator.hasNext();) { SoapHeaderElement headerElement = iterator.next(); if (version.understands(headerElement)) { return true; } } } return false; }
/** * Iterates over header elements and returns true if WS-Security header is found. */ private boolean isSecurityHeaderPresent(SoapMessage message) { SoapHeader soapHeader = message.getSoapHeader(); if(soapHeader == null){ return false; } Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while(elements.hasNext()){ SoapHeaderElement e = elements.next(); if(e.getName().equals(WS_SECURITY_NAME)){ return true; } } return false; } }
/** * Iterates over header elements and returns true if WS-Security header is found. */ private boolean isSecurityHeaderPresent(SoapMessage message) { SoapHeader soapHeader = message.getSoapHeader(); if(soapHeader == null){ return false; } Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while(elements.hasNext()){ SoapHeaderElement e = elements.next(); if(e.getName().equals(WS_SECURITY_NAME)){ return true; } } return false; } }
/** * Iterates over header elements and returns true if WS-Security header is found. */ private boolean isSecurityHeaderPresent(SoapMessage message) { SoapHeader soapHeader = message.getSoapHeader(); if(soapHeader == null){ return false; } Iterator<SoapHeaderElement> elements = soapHeader.examineAllHeaderElements(); while(elements.hasNext()){ SoapHeaderElement e = elements.next(); if(e.getName().equals(WS_SECURITY_NAME)){ return true; } } return false; } }
@Override protected void match(SoapMessage soapMessage) throws IOException, AssertionError { SoapHeader soapHeader = soapMessage.getSoapHeader(); assertTrue("SOAP message [" + soapMessage + "] does not contain SOAP header", soapHeader != null, "Envelope", soapMessage.getEnvelope().getSource()); Iterator<SoapHeaderElement> soapHeaderElementIterator = soapHeader.examineAllHeaderElements(); boolean found = false; while (soapHeaderElementIterator.hasNext()) { SoapHeaderElement soapHeaderElement = soapHeaderElementIterator.next(); if (soapHeaderName.equals(soapHeaderElement.getName())) { found = true; break; } } assertTrue("SOAP header [" + soapHeaderName + "] not found", found, "Envelope", soapMessage.getEnvelope().getSource()); } }
@Override protected void match(SoapMessage soapMessage) throws IOException, AssertionError { SoapHeader soapHeader = soapMessage.getSoapHeader(); assertTrue("SOAP message [" + soapMessage + "] does not contain SOAP header", soapHeader != null, "Envelope", soapMessage.getEnvelope().getSource()); Iterator<SoapHeaderElement> soapHeaderElementIterator = soapHeader.examineAllHeaderElements(); boolean found = false; while (soapHeaderElementIterator.hasNext()) { SoapHeaderElement soapHeaderElement = soapHeaderElementIterator.next(); if (soapHeaderName.equals(soapHeaderElement.getName())) { found = true; break; } } assertTrue("SOAP header [" + soapHeaderName + "] not found", found, "Envelope", soapMessage.getEnvelope().getSource()); } }
@Override protected void match(SoapMessage soapMessage) throws IOException, AssertionError { SoapHeader soapHeader = soapMessage.getSoapHeader(); assertTrue("SOAP message [" + soapMessage + "] does not contain SOAP header", soapHeader != null, "Envelope", soapMessage.getEnvelope().getSource()); Iterator<SoapHeaderElement> soapHeaderElementIterator = soapHeader.examineAllHeaderElements(); boolean found = false; while (soapHeaderElementIterator.hasNext()) { SoapHeaderElement soapHeaderElement = soapHeaderElementIterator.next(); if (soapHeaderName.equals(soapHeaderElement.getName())) { found = true; break; } } assertTrue("SOAP header [" + soapHeaderName + "] not found", found, "Envelope", soapMessage.getEnvelope().getSource()); } }