You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2008/10/21 09:36:52 UTC
[jira] Updated: (SM-1418) Saxon component should gracefully handle
malformed XML messages
[ https://issues.apache.org/activemq/browse/SM-1418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang updated SM-1418:
-----------------------------
Fix Version/s: 3.3.1
3.4
(was: 3.3)
> Saxon component should gracefully handle malformed XML messages
> ---------------------------------------------------------------
>
> Key: SM-1418
> URL: https://issues.apache.org/activemq/browse/SM-1418
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-saxon
> Affects Versions: 3.2.1
> Reporter: Trevor Pounds
> Fix For: 3.3.1, 3.4
>
> Attachments: scenario.png
>
>
> Currently the saxon component does not handle malformed XML messages gracefully. When a malformed XML is encountered during SAX parsing an error is sent back on the exchange generated from the underlying exception. There should be a way for these messages to be handled by the fault target in the EIP pipeline. This is particularly giving us problems with a transacted JMS consumer (i.e. spring based JMS BC) which retries each time an error exchange is received from the saxon component. Once the retry limit it reached (default = 6 retries), the invalid XML message is placed in a queue named 'ActiveMQ.DLQ'. I've attached an image showing a similar setup to the deployment we are using which encounters this problem. I've also attached a log message with the full stack trace removed for brevity but should give the general idea of the case which needs to be handled.
> {noformat}
> 10 Jun 2008 05:02:24,867 | ERROR | pool-flow.seda.servicemix-saxon-thread-4 | SaxonComponent | ervicemix.common.BaseLifeCycle 48 | Error processing exchange InOut[
> id: ID:165.204.220.146-11a6ef0bf06-12:19482
> status: Active
> role: provider
> service: {xslt-test}xslt-test-translator
> endpoint:
> in: Unable to display: org.xml.sax.SAXParseException: Content is not allowed in prolog.
> out: null
> ]
> net.sf.saxon.trans.DynamicError: org.xml.sax.SAXParseException: The element type "Elements" must be terminated by the matching end-tag "</Elements>".
> ...
> org.xml.sax.SAXParseException: The element type "Elements" must be terminated by the matching end-tag "</Elements>".
> ...
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.