@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")); }
/** * (non-Javadoc) * @see org.springframework.ws.soap.server.SoapEndpointInterceptor#understands(org.springframework.ws.soap.SoapHeaderElement) */ public boolean understands(SoapHeaderElement header) { //see if header is accepted if (header.getName() != null && acceptedHeaders.contains(header.getName().toString())) { return true; } return false; }
@Override public boolean understands(SoapHeaderElement headerElement) { return WS_SECURITY_NAME.equals(headerElement.getName()); }
@Override public boolean understands(SoapHeaderElement headerElement) { return WS_SECURITY_NAME.equals(headerElement.getName()); }
@Override public boolean understands(SoapHeaderElement headerElement) { return WS_SECURITY_NAME.equals(headerElement.getName()); }
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; } }
SoapHeaderElement HeaderElements = HeaderList.next(); println("\n"+HeaderElements.getName().getLocalPart()+ " - "+HeaderElements.getText()); }
@Override public final boolean understands(SoapHeaderElement headerElement) { return getNamespaceUri().equals(headerElement.getName().getNamespaceURI()); }
public final boolean understands(SoapHeaderElement headerElement) { return getNamespaceUri().equals(headerElement.getName().getNamespaceURI()); }
@Override public final boolean understands(SoapHeaderElement headerElement) { return getNamespaceUri().equals(headerElement.getName().getNamespaceURI()); }
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; } }
@Override public final boolean understands(SoapHeaderElement headerElement) { return getNamespaceUri().equals(headerElement.getName().getNamespaceURI()); }
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; } }
@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()); } }