Ошибка XML-RPC при запуске клиента - PullRequest
0 голосов
/ 27 августа 2009
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. мой серверный процесс, кажется, работает нормально. Ожидание клиентских запросов успешно.

Ниже приведен мой код для клиента.

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());
    }
    }
}

1 Ответ

1 голос
/ 27 августа 2009

Как сказал Мэтт и Стю, вы можете проверить ответ вашего сервера XML-RPC с другим клиентом.

Вот пример на python

#!/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:])
...