ExtendedXMLStreamReader strips whitespaces, which breaks servicemix-http when a 
SOAP invocation contains whitespace nodes
-------------------------------------------------------------------------------------------------------------------------

                 Key: SM-722
                 URL: https://issues.apache.org/activemq/browse/SM-722
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-core
    Affects Versions: 3.0
            Reporter: Renaud Bruyeron
             Fix For: 3.0.1



The problem is in the code below in ExtendedXMLStreamReader, which is used by 
SoapMarshaler to extract the SOAP message from a http invocation, and put it in 
a NormalizedMessage.
I have a SOAP message that has things like this: <text>  </text>. The 
whitespace is significant, and should not be trimmed, yet the message comes out 
as <text/>.

Is there a reason for explicitely doing this?

    public int nextTag() throws XMLStreamException {
        int eventType = next();
         while((eventType == XMLStreamConstants.CHARACTERS && isWhiteSpace()) 
// skip whitespace
                 || (eventType == XMLStreamConstants.CDATA && isWhiteSpace()) 
                 // skip whitespace
                 || eventType == XMLStreamConstants.SPACE
                 || eventType == XMLStreamConstants.PROCESSING_INSTRUCTION
                 || eventType == XMLStreamConstants.COMMENT
                 ) {
                 eventType = next();
         }
         if (eventType != XMLStreamConstants.START_ELEMENT && eventType != 
XMLStreamConstants.END_ELEMENT) {
                throw new XMLStreamException("expected start or end tag", 
getLocation());
         }
         return eventType;
    }



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to