Given this
XML:
<?xml
version="1.0" encoding="UTF-8"?>
<REQUEST>
<A>foo</A>
<B>bar</B>
</REQUEST>
When I use the above
xml as the bytes found in mInStream in the below code:
DocumentBuilderFactory
mDocBuilderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder mDocBuilder=mDocBuilderFactory.newDocumentBuilder();
Document doc=mDocBuilder.parse(mInStream);
DocumentBuilder mDocBuilder=mDocBuilderFactory.newDocumentBuilder();
Document doc=mDocBuilder.parse(mInStream);
Body
mBody=Body.unmarshall(doc.getDocumentElement(),aSOAPContext);
Envelope
mEnvelope=new Envelope();
mEnvelope.setBody(mBody);
The "REQUEST"
element has disappeared. Is that expected??? It appears to throw
away whatever the root element is within the xml. Only "A" and "B" are in
the SOAP body and sent via SOAP. If I put a bogus root element enclosing
all of the above xml then I get what I want (but I don't understand why).
Is the xml that is
being unmarshalled into the BODY supposed to have a "SOAP-ENV:Body" element
around it? When I tried that the parse was failing.
I'm using soap version
2.2
Thanks for any
guidance.
Tim
