JBossESB4.10のリモートインスタンスからJboss7.1Finalにデプロイされたステートレスセッション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
")を使用しています。
JBoss 7に必要なクライアントライブラリをインポートせずに、ESBからリモートEJBを呼び出す方法はありますか?