Random NullPointerExceptions during Smooks execution in SOA-P 4.3

Solution Verified - Updated -

Issue

On a regular basis, some of our services are failing with a NullPointerException. The NullPointerExceptions are happening at different places and at different times. If we try to restart the service again with the same input data, then it will work.

The most frequent NullPointerException is happening through a SmooksAction that we are using at the start of our ESB services. The goal of the SmooksAction is to split a complex ESB message into several ones.

Here is the action within the jboss-esb.xml file:

<!-- splitter using smooks -->
<action name="split-jobs" class="org.jboss.soa.esb.smooks.SmooksAction">
   <property name="smooksConfig" value="/smooks-config.xml" />
</action>

Here is the content of the smooks-config.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">

<resource-config selector="global-parameters">
   <param name="stream.filter.type">SAX</param>
</resource-config>

<!-- Xml Job Splitter -->
<resource-config selector="DATA/DETAIL">
   <resource>org.jboss.soa.esb.visitors.DOMServiceDelegateVisitor</resource>
        <param name="service-category-name">xxx</param>
    <param name="service-name">yyy</param>
    <param name="send-in-visit-after">true</param>
   </resource-config>
</smooks-resource-list>

and here are some of the stack traces we have as a result of the exception:

2013-03-20 15:08:01,380 ERROR [pool-13-thread-1] [STDERR] org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
2013-03-20 15:08:01,380 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:287)
2013-03-20 15:08:01,380 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:235)
2013-03-20 15:08:01,380 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.Smooks.filter(Smooks.java:288)
2013-03-20 15:08:01,380 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
2013-03-20 15:08:01,380 ERROR [pool-13-thread-1] [STDERR]   at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:202)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:615)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:574)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:408)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:540)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at java.lang.Thread.run(Thread.java:662)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR] Caused by: org.milyn.SmooksException: Failed to apply processing unit [org.jboss.soa.esb.visitors.DOMServiceDelegateVisitor] to [org:milyn:smooks:unknowndoc:/DATA/DETAIL[10]].
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter.processVisitorException(SmooksDOMFilter.java:748)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter.access$800(SmooksDOMFilter.java:134)
2013-03-20 15:08:01,381 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:716)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:664)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:625)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:352)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:285)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   ... 11 more
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR] Caused by: java.lang.NullPointerException
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.xml.DomUtils.countElementsBefore(DomUtils.java:712)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.xml.DomUtils.getXPathToken(DomUtils.java:843)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.xml.DomUtils.getXPath(DomUtils.java:817)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:705)
2013-03-20 15:08:01,382 ERROR [pool-13-thread-1] [STDERR]   ... 15 more
2013-03-20 15:08:01,385 INFO  [pool-13-thread-1] [STDOUT]

Environment

  • JBoss Enterprise SOA Platform (SOA-P)
    • 4.3.0.GA.CP_05
    • Smooks 1.0.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.