[ https://issues.apache.org/activemq/browse/SM-722?page=comments#action_37286 ] Renaud Bruyeron commented on SM-722: ------------------------------------
Sorry about this mess, I think jira saw something special in the code :) Here's the code again: {code:title=org.apache.servicemix.jbi.jaxp.ExtendedXMLStreamReader} 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; } {code} > 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