[ 
https://issues.apache.org/jira/browse/AXIS2-3050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517585
 ] 

Jeff Faath commented on AXIS2-3050:
-----------------------------------

You know, I just tried the same example, only parsing it with Xerces, and the 
same thing occurred.  I guess I never realized that indentations in XML were 
translated into text nodes.

To give you context, I'm working on the juddi console where request xml is 
entered into a text box and sent to the server.  The XML has always been 
indented and it worked (using very similar code to my example).  Then when 
switching to Axis2, this issue came up.  So I figured with everything else held 
constant, there must be something going on with the AXIOM parsing.  Now I'm 
confused as to why it worked before.

Anyway, you can close this issue.


> Reading indented XML using SAAJ (which uses AXIOM) treats line breaks and 
> spaces as text nodes
> ----------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3050
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3050
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: om
>    Affects Versions: 1.3
>         Environment: All
>            Reporter: Jeff Faath
>            Assignee: sumedha rubasinghe
>            Priority: Minor
>
> I am trying to read this XML snippet:
> <?xml version="1.0" encoding="utf-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
>     <soapenv:Body>
>         <get_registryInfo generic="1.0" xmlns="urn:juddi-org:api_v2"/>
>     </soapenv:Body>
> </soapenv:Envelope>
> Using this code to read in and process:
> String s = <the xml snippet>
> MessageFactory msgFactory = MessageFactory.newInstance();
> SOAPMessage soapReq = msgFactory.createMessage(null,new 
> ByteArrayInputStream(s.getBytes()));
> SOAPBody soapReqBody = soapReq.getSOAPBody();
> Then, on this line:
> Node n = soapReqBody.getFirstChild();
> The node returned on this call is a Text node with a value of "\n    " (line 
> break with spaces).  In other words, the code handles the indenting up until 
> the SOAPBody element is isolated.  Then calling the getFirstChild() method 
> returns the indenting as a Text node.  Stepping into the code reveals that 
> the getFirstChild() method comes from SAAJ's SOAPElementImpl.  This in turn 
> calls getFirstChild() from it's element member variable which is of type 
> SOAP11BodyImpl from AXIOM.  It is this call that is returning the indentation.
> Not sure if this is a bug or if AXIOM doesn't allow indented XML.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to