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