3 Replies Latest reply on Aug 14, 2009 3:10 AM by Kevin Conner

    problem with ESB 4.6 EJBProcessor action

    Earnest Dyke Novice

      Greetings all,

      In my current config I have a JBoss AS 5.0.1 server running onto which my EJB3 is deployed with both a local and remote interface. I have a JBoss ESB 4.6 server running from which I have and EJBProcessor action which I am trying to use to execute a method on the remote EJB3. When the action executes I get a MethodNotFound exception. Some debugging has revealed that the class the EJBProcessor is trying to make the method call on is an instance of javax.naming.Reference.

      Below I have included a copy of the action definition, the jndiview from the AS and the stack trace of the exception.

      Anyone run in to this?

      Earnie!


      <action class="org.jboss.soa.esb.actions.EJBProcessor" name="EJBAFCore">
       <property name="ejb3" value="true" />
       <property name="method" value="assignAsset" />
       <property name="jndi-name" value="AFCore/remote" />
       <property name="initial-context-factory" value="org.jnp.interfaces.NamingContextFactory" />
       <property name="provider-url" value="localhost:11099" />
       <property name="ejb-params">
       <arg0 type="org.ebs.esbdemo.entity.Target">org.jboss.soa.esb.message.defaultEntry</arg0>
       <arg1 type="org.ebs.esbdemo.entity.TargetAssignment">targetAssignment</arg1>
       </property>
       </action>
      


      +- AFCore (class: org.jnp.interfaces.NamingContext)
       | +- local (class: Proxy for: org.ebs.esbdemo.bi.AFCore)
       | +- remote (class: Proxy for: org.ebs.esbdemo.bi.AFCoreRemote)
      

      2009-08-12 09:53:49,046 DEBUG [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] Unexpected exception caught while processing the action pipeline: header: [ To: JMSEpr [ PortReference < <wsa:Address jms:jnp://localhost:11099#queue/afRequestEsb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : jnp://localhost:11099/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:destination-name : queue/afRequestEsb/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] MessageID: 62cbf912-1719-4f79-aaa2-5be72eac6de4 RelatesTo: jms:correlationID#62cbf912-1719-4f79-aaa2-5be72eac6de4 ]
      org.jboss.soa.esb.actions.ActionProcessingException: Got an error while processing EJB method [assignAsset]
       at org.jboss.soa.esb.actions.EJBProcessor.process(EJBProcessor.java:181)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)
       at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74)
       at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:634)
       at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:586)
       at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:420)
       at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:545)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
       at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.NoSuchMethodException: javax.naming.Reference.assignAsset(org.ebs.esbdemo.entity.Target, org.ebs.esbdemo.entity.TargetAssignment)
       at java.lang.Class.getMethod(Class.java:1605)
       at org.jboss.soa.esb.actions.EJBProcessor.invoke(EJBProcessor.java:335)
       at org.jboss.soa.esb.actions.EJBProcessor.process(EJBProcessor.java:160)
       ... 13 more