2013-09-30 108 views
3

我有一个JBoss 7服务器上运行&接受端口443上远程连接失败,代理例外

一直以来我是测试在当地这是工作的罚款安全连接。但现在当我做连接尝试我得到一个

javax.naming.NamingException: Failed to create proxy [Root exception is java.lang.IllegalStateException: ...”。

我试图按照写的是什么@EJB invocations from a remote client using JNDI

我想我jndi.properties & jboss-ejb-client.properties文件需要修改。我认为我说得对,但仍然没有成功。

1)的jndi.properties

java.naming.factory.url.pkgs=org.jboss.ejb.client.naming 

2)jboss-ejb-client.properties

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false 

remote.connections=default 

remote.connection.default.host=10.160.148.61 
remote.connection.default.port = 4447 
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false 

任何建议任何人。使端口443也没有帮助。从客户端

InitialContext aJNDI = new InitialContext(); 
    Ppi handle = (Ppi) aJNDI 
      .lookup("ejb:PPIEAR/PService/PConnect!com.gem.p.PConnection?stateful"); 

发布全stracktrace

我的EJB调用:

log4j: Finished configuring. 
- JBoss EJB Client version 1.0.5.Final 
- XNIO Version 3.0.3.GA 
- XNIO NIO Implementation Version 3.0.3.GA 
- JBoss Remoting version 3.2.3.GA 
- Could not register a EJB receiver for connection to remote://10.160.148.61:4447 
java.lang.RuntimeException: Operation failed with status WAITING 
    at org.jboss.ejb.client.remoting.IoFutureHelper.get(IoFutureHelper.java:93) 
    at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:121) 
    at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.<init>(ConfigBasedEJBClientContextSelector.java:78) 
    at org.jboss.ejb.client.EJBClientContext.<clinit>(EJBClientContext.java:77) 
    at org.jboss.ejb.client.EJBClient.createSession(EJBClient.java:160) 
    at org.jboss.ejb.client.naming.ejb.EjbNamingContext.doCreateProxy(EjbNamingContext.java:135) 
    at org.jboss.ejb.client.naming.ejb.EjbNamingContext.createEjbProxy(EjbNamingContext.java:113) 
    at org.jboss.ejb.client.naming.ejb.EjbNamingContext.lookup(EjbNamingContext.java:96) 
    at javax.naming.InitialContext.lookup(Unknown Source) 
.. 
+0

另外,你有没有验证过'ejb:PPIEAR/PService/PConnect !com.gem.p.PConnection?stateful'实际上存在于您的目标JNDI命名空间中? – eis

+0

@eis如何检查名称空间是否正确。那么如果我使用本地服务器的意思是我更改''remote.connection.default.host = localhost''并在本地运行应用程序,那么应用程序将正常运行。我在远程服务器上部署了相同的耳朵。所以我猜这个调用是正确的.. – rockstar

+0

好吧,那么你可能有一个错误的IP +端口组合,服务器不听或防火墙阻止连接。我将其添加为答案。 – eis

回答

2

报价this page

警告:用于连接到 远程无法注册一个EJB接收器://10.160.148.61:4447 java.lang.RuntimeException:操作失败 与处于等待状态的

这通常是通过IP的错误组合或端口在文件jboss-ejb-client.properties引起的。

  • 您可能无法达到
  • 也许你正在使用的主机地址端口偏移该服务器上,所以不是端口4447,你应该使用4447 +偏移

你可以从测试开始,如果你可以使用telnet连接到你的目标:

telnet 10.160.148.61 4447 
+0

以及我遇到过这个。我没有看到我的IP端口可能是错误的,因为IP可以从我的系统中ping,并查看服务器上的standalone.xml文件,远程端口确实是4447。' <套接字绑定名称=“osgi-http”interface =“management”port =“8090”/> <套接字绑定名称=“远程处理”端口=“4447”/> <套接字绑定名称= “txn-recovery-environment”port =“4712”/>''。我仍然想知道什么是错的 – rockstar

+0

顺便说一句,我没有做任何事情在服务器端。你认为需要在服务器上做些什么来允许它接受所有传入的连接..我正在尝试跟随这一线索,并且没有成功: – rockstar

+0

我能够从客户端计算机执行远程桌面到服务器.. – rockstar