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
         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.

Reply via email to