访问部署在JBOSS上的EJB服务端的问题

wwhui 2010-04-15 11:21:38
在本机访问部署在JBOSS上的EJB服务端时报如下错误:
javax.naming.CommunicationException: Could not obtain connection to any of these urls: 136.127.56.23:8088 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to retrieve stub from server 136.127.56.23:8088 [Root exception is java.io.EOFException]]
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at test.JbossEjbTest.main(JbossEjbTest.java:28)
Caused by: javax.naming.CommunicationException: Failed to retrieve stub from server 136.127.56.23:8088 [Root exception is java.io.EOFException]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:268)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533)
... 4 more
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2232)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:255)
... 5 more

启动服务端的时候有用:run.sh -b 0.0.0.0命令
客户端程序在ctx.lookup();的时候报错。
...全文
228 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
麦穗的守望者 2012-11-13
  • 打赏
  • 举报
回复
灰常感谢大哥,我调了好几天的错误,查遍了所有资料,原来是因为把8080当成访问jndi的了,应该是1099
fj1002817 2010-05-24
  • 打赏
  • 举报
回复
JBOSS下常用端口
。1099 TCP org.jboss.naming.NamingService
。1098 TCP org.jboss.naming.NamingService
。1162 UDP org.jboss.jmx.adaptor.snmp.trapd.TrapdService
。4444 TCP org.jboss.invocation.jrmp.server.JRMPInvoker
。4445 TCP org.jboss.invocation.pooled.server.PooledInvoker
。8009 TCP org.jboss.web.tomcat.tc4.EmbeddedTomcatService
。8009 TCP org.jboss.web.tomcat.tc4.EmbeddedTomcatService
。8083 TCP org.jboss.web.WebService
。8090 TCP org.jboss.web.OILServerILService
。8092 TCP org.jboss.mq.il.oil2.OIL2ServerILService
。8093 TCP org.jboss.mq.il.uil2.UILServerILService

你是通过JNDI服务 请求资源的 端口应该是1099
humanity 2010-04-25
  • 打赏
  • 举报
回复
Web 端口多数情况下不等于 RMI/IIOP 端口, 8088 如果是访问 http://xxx:8088/yyy.jsp 的话,
那就基本上是搞错了,我上次用 jboss 5.0 GA 默认的 RMI 端口是 1099 跟 RMIRegistry.exe 默认的端口一样。

wwhui 2010-04-20
  • 打赏
  • 举报
回复
还有没有达人帮忙解答下啊。。。。。。。。。。。。。
wwhui 2010-04-20
  • 打赏
  • 举报
回复
端口是没错的,我用8088是可以访问到部署在上面的WEB应用的。
show_love 2010-04-16
  • 打赏
  • 举报
回复
好像你的端口不对啊,
java.naming.provider.url","136.127.56.23:8088
确定jboss-server-xml下的
<attribute name="Port">8088</attribute> ????
wwhui 2010-04-15
  • 打赏
  • 举报
回复
客户端调用程序:
java.util.Properties props = new java.util.Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url","136.127.56.23:8088");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
javax.naming.InitialContext ctx;
try{
System.out.println("-1-1-1-1-1-1-1-1");
ctx=new javax.naming.InitialContext(props);
System.out.println("0000000000000000");
Object obj = ctx.lookup("SpiStatelessSessionBean");
System.out.println("11111111111111");
SpiStatelessSessionBeanHome home =
(SpiStatelessSessionBeanHome)PortableRemoteObject.narrow(obj, SpiStatelessSessionBeanHome.class);
System.out.println("22222222222222");
SpiStatelessSessionBeanRemote remote = home.create();

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧