@Override public int next() throws XMLStreamException { if (!foundEnd) { currentEvent = super.next(); if (currentEvent == START_ELEMENT && getName().equals(endTag)) { foundEnd = true; endDepth = getDepth(); return START_ELEMENT; } return currentEvent; } else if (endDepth > 0) { endDepth--; currentEvent = END_ELEMENT; } else { currentEvent = END_DOCUMENT; } return currentEvent; }
/** * Extract the content as DOM element */ protected Element getBodyElement(SoapMessage message) { try { XMLStreamReader xmlReader = message .getContent(XMLStreamReader.class); XMLStreamReader filteredReader = new PartialXMLStreamReader( xmlReader, message.getVersion().getBody()); //ensure the whitespace is passed StaxUtils.toNextElement((DepthXMLStreamReader) filteredReader); Document doc = DOMUtils.createDocument(); StaxUtils.readDocElements(doc, filteredReader, true); return doc.getDocumentElement(); } catch (XMLStreamException e) { throw new Fault(e); } }
XMLStreamReader filteredReader = new PartialXMLStreamReader(xmlReader, version.getBody()); Node nd = message.getContent(Node.class); W3CDOMStreamWriter writer = message.get(W3CDOMStreamWriter.class);
@Override public int next() throws XMLStreamException { if (!foundEnd) { currentEvent = super.next(); if (currentEvent == START_ELEMENT && getName().equals(endTag)) { foundEnd = true; endDepth = getDepth(); return START_ELEMENT; } return currentEvent; } else if (endDepth > 0) { endDepth--; currentEvent = END_ELEMENT; } else { currentEvent = END_DOCUMENT; } return currentEvent; }
XMLStreamReader filteredReader = new PartialXMLStreamReader(xmlReader, message.getVersion() .getBody());
@Override public int next() throws XMLStreamException { if (!foundEnd) { currentEvent = super.next(); if (currentEvent == START_ELEMENT && getName().equals(endTag)) { foundEnd = true; endDepth = getDepth(); return START_ELEMENT; } return currentEvent; } else if (endDepth > 0) { endDepth--; currentEvent = END_ELEMENT; } else { currentEvent = END_DOCUMENT; } return currentEvent; }
XMLStreamReader filteredReader = new PartialXMLStreamReader(xmlReader, message.getVersion() .getBody());
@Override public int next() throws XMLStreamException { if (!foundEnd) { currentEvent = super.next(); if (currentEvent == START_ELEMENT && getName().equals(endTag)) { foundEnd = true; endDepth = getDepth(); return START_ELEMENT; } return currentEvent; } else if (endDepth > 0) { endDepth--; currentEvent = END_ELEMENT; } else { currentEvent = END_DOCUMENT; } return currentEvent; }
@Override public int next() throws XMLStreamException { if (!foundEnd) { currentEvent = super.next(); if (currentEvent == START_ELEMENT && getName().equals(endTag)) { foundEnd = true; endDepth = getDepth(); return START_ELEMENT; } return currentEvent; } else if (endDepth > 0) { endDepth--; currentEvent = END_ELEMENT; } else { currentEvent = END_DOCUMENT; } return currentEvent; }