2

I'm trying to invoke an Stateless Session Bean (EJB 3) deployed on Jboss 7.1 Final from an remote instance of JBoss ESB 4.10. In my jboss-esb.xml I have the following information:

<action name="EJBTestWithReturnValue" class="org.jboss.soa.esb.actions.EJBProcessor">
    <property name="ejb3" value="true" />
    <property name="method" value="login" />
    <property name="jndi-name" value="gwtbatis-ear/gwtibatis-ejb/UserServiceEJB!com.aestasit.gwtibatis.UserServiceRemote" />
    <property name="initial-context-factory" value="org.jnp.interfaces.NamingContextFactory" />
    <property name="security-principal" value="xxxx" />
    <property name="security-credentials" value="xxxx" />
    <property name="provider-url" value="localhost:4447" />
    <property name="ejb-params">
        <arg0 type="java.lang.String">username</arg0>
        <arg1 type="java.lang.String">password</arg1>
    </property>
    <property name="esb-out-var" value="org.jboss.soa.esb.message.defaultEntry"/>

Whatever JNDI binding I try I always get an error "invalid stream header: 00000018". I successfully invoke the same EJB from a Java client but I use a different context factory ("org.jboss.naming.remote.client.InitialContextFactor").

Is there a way to invoke the remote EJB from ESB, without importing the client lib required by JBoss 7 and wriying my own EJB invoker?

Luciano Fiandesio
  • 10,037
  • 10
  • 48
  • 56

0 Answers0