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.