Bug 779876 (SOA-2235)

Summary: SmooksAction should re-throw SmooksException
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Martin Weiler <mweiler>
Component: JBossESBAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.0.2CC: rwagner, vinod.shah
Target Milestone: ---   
Target Release: FUTURE   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-2235
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Task
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Martin Weiler 2010-08-19 14:33:28 UTC
Help Desk Ticket Reference: https://na7.salesforce.com/500A0000003hVxw
project_key: SOA

Using a SmooksAction to convert an XML to Java POJO, we ran into a problem. None of the actions after the SmooksAction were being prcessed. However, there were no errors in the server logs.

Only after enabling DEBUG logging we could see that the Smooks transformation was failing:

 DEBUG [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] (pool-34-thread-1) Unexpected exception caught while processing the action pipeline
org.milyn.SmooksException: Failed to filter source.
	at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:72)
	at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:55)
	at org.milyn.Smooks._filter(Smooks.java:479)
	at org.milyn.Smooks.filterSource(Smooks.java:448)
	at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
	at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:218)
	at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:634)
	at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:588)
	at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:419)
	at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:540)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:636)

Why are parse errors not reported during a smooks action? The action fails silently without reporting the cause of failure.

Comment 1 Kevin Conner 2010-08-19 15:26:47 UTC
The exception is sent back to the caller of the service, as part of the normal processing of the pipeline.

RuntimeExceptions may also cause the message to be redelivered, if it is executing in a transactional context.

Comment 2 Martin Weiler 2010-09-08 07:52:41 UTC
Help Desk Ticket Reference: Removed: https://access.redhat.com/issue-tracker/1267713 Added: https://na7.salesforce.com/500A0000003hVxw


Comment 4 Rick Wagner 2011-12-05 20:55:06 UTC
Rick reviewing old JIRAs.  Smooks not logging Exceptions.  Valid complaint, Smooks can be difficult, needs refinement.  Leaving Open.