Java XmlRpcException:无法读取服务器';s响应:连接被拒绝:连接
我有XML-RPC服务器,我相信它工作得很好。我可以使用telnet连接到服务器,也可以使用web浏览器,地址是(dracek:8080)dracek=计算机名称。 当我尝试使用客户端进行连接时,出现以下错误: org.apache.xmlrpc.XmlRpcException:无法读取服务器的响应:连接 拒绝:连接 服务器应该记录“客户端已连接”,但没有任何反应 服务器代码: 公共班机{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
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
谢谢你,致以最良好的问候