2013-09-30 106 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