gettext() is an inherited method from the OMElement and it's purpose is to expose the text nodes that are the immediate children of the relevant OMElement. Serialize should produce the complete text form of the element.
However the gettext method should not produce the exception mentioned. It should produce either a null or an empty string.
On 9/21/05,
[EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
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
--
Ajith Ranabahu
