[
https://issues.apache.org/activemq/browse/SM-722?page=comments#action_37290 ]
Guillaume Nodet commented on SM-722:
------------------------------------
I don't think the problem comes from here.
I would rather take a look at the
SourceTransformer#createDocumentBuilderFactory method
which has the following code:
{code:lang=java,title=org.apache.servicemix.jbi.jaxp.SourceTransformer}
public DocumentBuilderFactory createDocumentBuilderFactory() {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
factory.setIgnoringElementContentWhitespace(true);
factory.setIgnoringComments(true);
return factory;
}
{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