Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JBREM000200:远程连接失败:java.io.IOException:现有连接被远程主机强制关闭_Java_Eclipse_Ejb_Jboss7.x - Fatal编程技术网

JBREM000200:远程连接失败:java.io.IOException:现有连接被远程主机强制关闭

JBREM000200:远程连接失败:java.io.IOException:现有连接被远程主机强制关闭,java,eclipse,ejb,jboss7.x,Java,Eclipse,Ejb,Jboss7.x,这是我的客户代码 package com.tutorialspoint.test; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.Properties; import javax.naming.InitialContext; import javax.namin

这是我的客户代码

package com.tutorialspoint.test;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.tutorialspoint.stateless.testRemote;

public class test 
{
    BufferedReader brConsoleReader = null;
    Properties props;
    static InitialContext ctx;
    {
        props = new Properties();
        try {
            props.load(new FileInputStream("jndi.properties"));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {
            ctx = new InitialContext(props);            
        } catch (NamingException ex) {
            ex.printStackTrace();
        }
        brConsoleReader = 
        new BufferedReader(new InputStreamReader(System.in));
    }

public static void main(String[] args)
{
    test _test = new test();
    try {
        testRemote libraryBean =(testRemote)ctx.lookup("java:global/TestEjb/testBean!     
           com.tutorialspoint.stateless.testRemote");
    } catch (NamingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }    
}
}
这是部署在服务器上的

package com.tutorialspoint.stateless;
import javax.ejb.Stateless;
@Stateless
public class testBean implements testRemote 
{
  public void hello()
  {
    System.out.println("hello");
  }
}

 package com.tutorialspoint.stateless;
 import javax.ejb.Remote;

 @Remote
 public interface testRemote 
 {
    void hello();
 }
我在服务器端遇到异常:

19:09:12676错误[org.jboss.remoting.remote.connection](远程处理“cognam-
pc-26“read-1)JBREM000200:远程连接失败: java.io.IOException:现有连接被
远程主机

我在客户端遇到异常:-

javax.naming.CommunicationException:无法获取连接 指向以下任意URL:localhost:4447,发现失败,错误为: javax.naming.CommunicationException:接收超时[根异常] 是java.net.SocketTimeoutException:Receive超时][根异常 is javax.naming.CommunicationException:未能从中检索存根 服务器localhost:4447[根异常为java.io.StreamCorruptedException:
无效的流标头:0000000 f]]

org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1414) 位于org.jnp.interfaces.NamingContext.lookup(NamingContext.java:594) 位于org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) 在javax.naming.InitialContext.lookup(InitialContext.java:392)中 位于com.tutorialspoint.test.test.main(test.java:37)


可能是您的服务器实际上不允许连接到4447。检查您是否可以telnet到该端口或使用netstat-an查询此端口


还要确保没有防火墙阻止对端口的访问。

可能是您的服务器实际上不允许连接到4447。检查您是否可以telnet到该端口或使用netstat-an查询此端口


还要确保没有防火墙阻止对端口的访问。

如果正在运行,请尝试关闭任何http流量捕获工具(例如Fiddler)

如果正在运行,请尝试关闭任何http流量捕获工具(例如Fiddler)

它只被调用了一次,然后我猜您的剪切和粘贴不正确或者我读错了,我将删除我的评论。可能是您的服务器实际上不允许连接到4447。检查您是否可以telnet到该端口或使用netstat-an查询此端口。它只被调用一次。然后我猜您的剪切和粘贴不正确,或者我读错了,我将删除我的注释。可能是您的服务器实际上不允许连接到4447。检查您是否可以telnet到该端口,或者使用netstat-an查询this.thanx以获得回复,在更改jndi.properties之后使用jnp上下文之前,我已经通过更改jndi.proerties完成了此操作:-props=new properties();put(Context.INITIAL\u Context\u工厂,“org.jboss.naming.remote.client.InitialContextFactory”);props.put(Context.PROVIDER\u URL,“remote://localhost:4447"); put(“jboss.naming.client.ejb.context”,true);props.put(“jboss.naming.client.connect.options.org.xnio.options.SASL_POLICY_NOPLAINTEXT”,“false”);我没有遵循,这是否意味着您的问题已得到解决?有人能告诉我,在ejb调用Anx进行应答时,如何使用凭据配置ejb安全性吗?在更改jndi.properties之后使用jnp上下文之前,我已通过更改jndi.proerties来完成此操作:-props=new properties();put(Context.INITIAL\u Context\u工厂,“org.jboss.naming.remote.client.InitialContextFactory”);props.put(Context.PROVIDER\u URL,“remote://localhost:4447"); put(“jboss.naming.client.ejb.context”,true);props.put(“jboss.naming.client.connect.options.org.xnio.options.SASL_POLICY_NOPLAINTEXT”,“false”);我没有遵循,这是否意味着您的问题已解决?有人能告诉我如何在ejb调用时使用凭据配置ejb安全性吗