Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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
Java XmlRpcException:无法读取服务器';s响应:连接被拒绝:连接_Java_Xml Rpc_Rpc - Fatal编程技术网

Java XmlRpcException:无法读取服务器';s响应:连接被拒绝:连接

Java XmlRpcException:无法读取服务器';s响应:连接被拒绝:连接,java,xml-rpc,rpc,Java,Xml Rpc,Rpc,我有XML-RPC服务器,我相信它工作得很好。我可以使用telnet连接到服务器,也可以使用web浏览器,地址是(dracek:8080)dracek=计算机名称。 当我尝试使用客户端进行连接时,出现以下错误: org.apache.xmlrpc.XmlRpcException:无法读取服务器的响应:连接 拒绝:连接 服务器应该记录“客户端已连接”,但没有任何反应 服务器代码: 公共班机{ private static int port = 8080; private static InetAd

我有XML-RPC服务器,我相信它工作得很好。我可以使用telnet连接到服务器,也可以使用web浏览器,地址是(dracek:8080)dracek=计算机名称。 当我尝试使用客户端进行连接时,出现以下错误:

org.apache.xmlrpc.XmlRpcException:无法读取服务器的响应:连接 拒绝:连接

服务器应该记录“客户端已连接”,但没有任何反应

服务器代码:

公共班机{

private static int port = 8080;
private static InetAddress ipAddress = null;

public static void main(String[] args) {

    try
    {
        ipAddress = InetAddress.getLocalHost(); 
    }
    catch (UnknownHostException e)
    {
        System.out.println("UnknownHostException");
        System.exit(0);
    }      

    System.out.println("Starting server.");

    try {        

        WebServer webServer = new WebServer(port, ipAddress); 

        // get XML-RPC Server
        XmlRpcServer xmlRpcServer = webServer.getXmlRpcServer();
        PropertyHandlerMapping phm = new PropertyHandlerMapping();
        phm.addHandler("DBClass", DBClass.class);

        // mapping
        xmlRpcServer.setHandlerMapping(phm);

        // configuration
        XmlRpcServerConfigImpl serverConfig = (XmlRpcServerConfigImpl) xmlRpcServer
                .getConfig();
        serverConfig.setEnabledForExceptions(true); 
        serverConfig.setEnabledForExtensions(true);
        serverConfig.setContentLengthOptional(false); 

        // start server
        webServer.start();            

    }
    catch (Exception e)
    {
        System.out.println(e.getMessage());
    }
    System.out.println("Server succesfully started. IP:" + ipAddress + " Port:" + port + ".");

}
数据库类:

    public void testConnection(){
    System.out.println("Client connected.");
}
客户端代码:

private static InetAddress ipAddress = null;
private static int port = 8080;
private static String confFile = "";
private static XmlRpcClientConfigImpl config;

public static void main(String[] args) {
    System.out.println("Starting client.");

    if (args.length == 3) {
        try {
            ipAddress = InetAddress.getByName(args[0]);
            port = Integer.parseInt(args[1]);
            confFile = args[2];
        }
        catch (NumberFormatException e) {
    System.out.println("Port number is not valid!");
    System.exit(0);
        }
        catch (UnknownHostException e)
        {
            System.out.println("UnknownHostException");
            System.exit(0);
        }             
}
    else
    {
        System.out.println("Some parameter is missing!");
        System.out.println("Valid parameters are: IP(0) Port(1) Config_file_name(2).");
    }


Client.config = new XmlRpcClientConfigImpl();
try
    {
        Client.config.setServerURL(new URL("http://" + ipAddress + ":" + port)); // nastaveni   
    }
    catch(MalformedURLException me)
    {
        System.out.println("Server URL is not valid!");
        System.exit(0);        
    }

Client.config.setEnabledForExtensions(true);
Client.config.setEnabledForExceptions(true);

Client.config.setConnectionTimeout(60 * 1000); 
Client.config.setReplyTimeout(60 * 1000); 

XmlRpcClient client = new XmlRpcClient();

client.setTransportFactory(new XmlRpcSunHttpTransportFactory(client));

client.setConfig(Client.config);

System.out.println("Connnected to " + ipAddress + " : " + port + ".");

    Tools tools = new Tools(client);

    tools.testConnection();
    }
工具类别:

public class Tools {

private XmlRpcClient client;

public Tools(XmlRpcClient client)
{
    this.client = client;
}
public void testConnection() {

Object[] params = new Object[] {};

    try
    {   
        this.client.execute("DBClass.testConnection", params);
    }
    catch (XmlRpcException e)
    {
        System.out.println("Error occured when testing connection!"); 
        System.out.println(e.toString());
    }            
}     
我使用以下命令运行客户端:

java-Djava.security.policy=..\Client\src\Client\Client.policy-jar..\Client\dist\Client.jar dracek 8080..\data\commands.txt

谢谢你,致以最良好的问候