Hi,
We have tried to reference ejbs in
weblogic's containers running remotely without any luck.
1. ejb-jar.xml (jboss)
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>A</ejb-name>
<home>AHome</home>
<remote>A</remote>
<ejb-class>ABean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-ref>
<ejb-ref-name>ejb/TraderRef</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>examples.ejb.basic.statelessSession.TraderHome</home>
<remote>examples.ejb.basic.statelessSession.Trader</remote>
</ejb-ref>
</session>
</enterprise-beans>
</ejb-jar>
2. standardjboss.xml
<enterprise-beans>
<session>
<ejb-name>A</ejb-name>
<ejb-ref>
<ejb-ref-name>ejb/TraderRef</ejb-ref-name>
<jndi-name>jnp://server1:7001/statelessSession</jndi-name>
</ejb-ref>
</session>
</enterprise-beans>
3. ejb-jar.xml (weblogic)
<ejb-jar>
<small-icon>images/green-cube.gif</small-icon>
<enterprise-beans>
<session>
<small-icon>images/orange-cube.gif</small-icon>
<ejb-name>statelessSession</ejb-name>
<home>examples.ejb.basic.statelessSession.TraderHome</home>
<remote>examples.ejb.basic.statelessSession.Trader</remote>
<ejb-class>examples.ejb.basic.statelessSession.TraderBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<env-entry>
<env-entry-name>WEBL</env-entry-name>
<env-entry-type>java.lang.Double </env-entry-type>
<env-entry-value>10.0</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>INTL</env-entry-name>
<env-entry-type>java.lang.Double </env-entry-type>
<env-entry-value>15.0</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>tradeLimit</env-entry-name>
<env-entry-type>java.lang.Integer
</env-entry-type>
<env-entry-value>500</env-entry-value>
</env-entry>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>statelessSession</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
4. exception
javax.naming.CommunicationException: Caught
EOFException while reading the strea
m header. Root exception is
java.io.StreamCorruptedException: Caught EOFExcepti
on while reading the
stream header
at
java.io.ObjectInputStream.readStreamHeader(Unknown
Source)
at
java.io.ObjectInputStream.<init>(Unknown
Source)
at
org.jnp.interfaces.NamingContext.getServer(NamingContext.java:111)
at
org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:771)
at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:340)
at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:333)
at javax.naming.InitialContext.lookup(Unknown
Source)
at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:421)
at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:457)
at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:333)
at javax.naming.InitialContext.lookup(Unknown
Source)
at
com.showiz.cms.services.content.ContentServiceBean.retrieveContent(Co
ntentServiceBean.java:131)
at java.lang.reflect.Method.invoke(Native
Method)
at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:543)
at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:87)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.ja
va:133)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:431)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
9)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:128)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195)
at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
ner.java:286)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPCon
tainerInvoker.java:393)
at java.lang.reflect.Method.invoke(Native
Method)
at
sun.rmi.server.UnicastServerRef.dispatch(Unknown
Source)
at
sun.rmi.transport.Transport$1.run(Unknown
Source)
at
java.security.AccessController.doPrivileged(Native
Method)
at
sun.rmi.transport.Transport.serviceCall(Unknown
Source)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown
Source)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
Sour
ce)
at
java.lang.Thread.run(Unknown Source)
Please let us know if you have any
suggestion.
Thank you in advance,
Ma Cheng