2009-08-27 2 views
0
Exception in thread "Thread-4" java.lang.InstantiationError: org.apache.xmlrpc.XmlRpcRequest 
    at org.apache.xmlrpc.XmlRpcRequestProcessor.decodeRequest(XmlRpcRequestProcessor.java:82) 
    at org.apache.xmlrpc.XmlRpcWorker.execute(XmlRpcWorker.java:143) 
    at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:139) 
    at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:125) 
    at org.apache.xmlrpc.WebServer$Connection.run(WebServer.java:761) 
    at org.apache.xmlrpc.WebServer$Runner.run(WebServer.java:642) 
    at java.lang.Thread.run(Unknown Source) 

Это ошибка, которую я получаю при запуске моего клиентского кода на localhost в XML-RPC. Я сделал сервер и клиент в JAVA. мой серверный процесс работает нормально. Он ждет успешных запросов клиентов.Ошибка XML-RPC во время работы клиента

Следующий мой код для клиента.

package rpcpkg; 

import java.net.URL; 
import java.util.Vector; 

import org.apache.xmlrpc.client.XmlRpcClient; 
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; 

public class SimpleXmlrpc { 

    public SimpleXmlrpc() { 
    } 

    public static void main(String[] args) { 

     XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); 

     try{ 

      config.setServerURL(new URL("http://localhost:8089/workspace3/JAVARPC/RPCSRC/rpcserverpkg/")); 

      XmlRpcClient client = new XmlRpcClient(); 
      client.setConfig(config); 

      Vector params = new Vector(); 
      params.addElement(new Integer(17)); 
      params.addElement(new Integer(13)); 

      Object result = client.execute("sample.sum", params); 

      int sum = ((Integer) result).intValue(); 
      System.out.println("The sum is: "+ sum); 

     } 
     catch(Exception e) 
     { 
      System.out.println("Exception: " + e.getMessage()); 
    } 
    } 
} 
+0

Вы пытались вызвать сервер с другим клиентом XML RPC, чем Java один? – Daff

+0

нет, я не знаю. Я хочу, чтобы клиент был в JAVA. –

+1

Это не значит, что вы не можете устранить неполадки с другим клиентом, чтобы помочь вам узнать, что происходит/что заканчивается проблема ... –

ответ

1

AS matt и Stu said, вы можете проверить ответ своего сервера XML-RPC на другого клиента.

Вот пример в питоне

#!/usr/bin/python 
import xmlrpclib 
import sys 

def main(argv): 
    client = xmlrpclib.ServerProxy("http://localhost:8089/workspace3/JAVARPC/RPCSRC/rpcserverpkg/") 
    xmlresponse = client.sample.sum(17,13) 
    print xmlresponse 

if __name__ == "__main__": 
    main(sys.argv[1:])