2

我正在尝试从 JBoss ESB 4.10 的远程实例调用部署在 Jboss 7.1 Final 上的无状态会话 Bean (EJB 3)。在我的jboss-esb.xml我有以下信息:

<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"/>

无论我尝试什么 JNDI 绑定,我总是得到一个错误“ invalid stream header: 00000018”。我成功地从 Java 客户端调用了相同的 EJB,但我使用了不同的上下文工厂(“ org.jboss.naming.remote.client.InitialContextFactor”)。

有没有办法从 ESB 调用远程 EJB,而无需导入 JBoss 7 所需的客户端库并编写我自己的 EJB 调用程序?

4

0 回答 0