3 Replies Latest reply on Feb 25, 2008 7:15 AM by Tom Fennelly

    Smooks decoder doesnt works with JBoss ESB?!

    Meenakshi Khatri Newbie

      Hello everyone,

      I am working with Smooks and JBoss ESB and I noticed some features of smooks dont seem to be working properly with JBoss ESB.

      Has anyone successfully tried to run the smook examples which uses decoders in jboss esb? If so, can you explain me why I get the following error:


      ERROR [org.milyn.delivery.dom.SmooksDOMFilter] Failed to apply processing unit [org.milyn.javabean.BeanPopulator] to [org:milyn:smooks:unknowndoc:/ns6:SimplifiedOrder/ns6:Deleted].
      org.milyn.cdr.SmooksConfigurationException: Bean [Deleted] configuration invalid. Bean setter method [setDeleted(java.util.HashMap)] not found on type [java.util.HashMap]. You may need to set a 'decoder' on the binding config.
      at org.milyn.javabean.BeanPopulator.createBeanSetterMethod(BeanPopulator.java:707)
      at org.milyn.javabean.BeanPopulator.setOn(BeanPopulator.java:597)
      at org.milyn.javabean.BeanPopulator.createAndSetBean(BeanPopulator.java:583)
      at org.milyn.javabean.BeanPopulator.visitBefore(BeanPopulator.java:210)
      at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:533)
      at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:478)
      at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:286)
      at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:236)
      at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:185)
      at org.milyn.Smooks.filter(Smooks.java:263)
      at org.milyn.SmooksUtil.filterAndSerialize(SmooksUtil.java:103)
      at org.jboss.soa.esb.actions.converters.SmooksTransformer.process(SmooksTransformer.java:329)
      at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
      at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)


      My xml file

      <?xml version="1.0" encoding="UTF-8"?>
      <ns6:SimplifiedOrder xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
       xmlns:ns6='*****somenamespace****'
       xsi:schemaLocation='location of my namespace '>
      
       <ns6:Deleted uuid="123456" />
      </ns6:SimplifiedOrder>


      My smooks file
      <?xml version="1.0"?>
      <smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
      
      
      
       <resource-config selector="Deleted">
       <resource>org.milyn.javabean.BeanPopulator</resource>
       <param name="beanId">Deleted</param>
       <param name="beanClass">java.lang.Integer</param>
       <param name="bindings">
       <binding property="uuid" type="UUIDNo" selector="SimplifiedOrder Deleted @uuid" />
       </param>
       </resource-config>
      
       <resource-config selector="decoder:UUIDNo">
       <resource>org.milyn.javabean.decoders.IntegerDecoder</resource>
       </resource-config>
      </smooks-resource-list>


      I know this error looks more specific for smooks than JBoss ESB but i face this error when I put my smooks code in jboss esb. I dont face this when I am running smooks as a standalone.

      Thanks in advance,
      Meenakshi