Hi!,
I have a route (direct: or VM:) with lots of processors, each one does a
tiny part of a huge validation. Sometimes a processor in the middle
encounters an error (and throws an exception). At this point the
validation has to stop, not executing the remainder of the route AND
returning to the caller to manage the exception. The pattern is a
request-reply.
The route has the following structure:
<camel:route id="cfdi33Validation">
<camel:from uri="direct:cfdi33Validation"/>
<camel:from uri="vm:cfdi33Validation"/>
<camel:process ref="testCfdi33Processor"/>
<camel:process ref="cfdi33XSDValidatorProcessor" id="XSD
CFDI33"/>
<camel:process ref="cfdi33extractCfdi33Fields"
id="extractFields"/>
<camel:process ref="descontarPlanRecepcionProcessor"
id="descontarPlan CFDI 3.3"/>
<camel:process ref="cfdi33ValidarTfdCertificado"/>
...
<camel:process ref="cfdi33SelloTfdValidator"/>
</camel:route>
Sometimes the descontarPlanRecepcionProcessor encounters an error (and
throws an exception) . The route must return the error to it's caller
route. The exception must be propagated to the caller route. Currently
the exception is logged and discarded, but the original caller timeout
because it expects an answer that never arrives.
I have read the docs, but cannot figure how to do the above.
Can anyone have any idea?
Regards,
--
Miguel Ruiz Velasco Sobrino
FCM Computacion Mexicana SAPI de CV
http://fcm.com.mx (55)5682-0041