Hi,
I like to extract the 'text' from an instance of
org.apache.axis2.soap.SOAPEnvelope:
// create the parser
XMLStreamReader parser = XMLInputFactory.newInstance()
.createXMLStreamReader(new
FileReader(file));
// create the builder
OMXMLParserWrapper builder = OMXMLBuilderFactory
.createStAXSOAPModelBuilder(OMAbstractFactory
.getSOAP12Factory(),
parser);
// get the root element (in this case the envelope)
SOAPEnvelope envelope = (SOAPEnvelope) builder.getDocumentElement();
// get text
System.out.println(envelope.getText());
If I use envelope.getText() then I receive the exception listed below. But
when I use
XMLStreamWriter writer = XMLOutputFactory.newInstance()
.createXMLStreamWriter(System.out);
// dump the out put to console with caching
envelope.serialize(writer);
writer.flush();
everything works fine. Is it intended or what's wrong??
Thx,
Chris
Exception in thread "main" org.apache.axis2.om.OMException:
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[20,20]
Message: already reached end document
at
org.apache.axis2.om.impl.llom.builder.StAXOMBuilder.next(StAXOMBuilder.java:
270)
at
org.apache.axis2.om.impl.llom.OMElementImpl.buildNext(OMElementImpl.java:467
)
at
org.apache.axis2.om.impl.llom.OMNodeImpl.getNextSibling(OMNodeImpl.java:121)
at
org.apache.axis2.om.impl.llom.OMElementImpl.getText(OMElementImpl.java:604)
at
de.iken.pure.test.env.server.ManagerTest.buildPackets(ManagerTest.java:79)
at
de.iken.pure.test.env.server.ManagerTest.testManager(ManagerTest.java:48)
at
de.iken.pure.test.env.server.ManagerTest.<init>(ManagerTest.java:41)
at
de.iken.pure.test.env.server.ManagerTest.main(ManagerTest.java:178)
Caused by: javax.xml.stream.XMLStreamException: ParseError at
[row,col]:[20,20]
Message: already reached end document
at com.bea.xml.stream.MXParser.parseEpilog(MXParser.java:1935)
at com.bea.xml.stream.MXParser.nextImpl(MXParser.java:1819)
at com.bea.xml.stream.MXParser.next(MXParser.java:1249)
at
org.apache.axis2.om.impl.llom.builder.StAXOMBuilder.next(StAXOMBuilder.java:
188)
... 7 more