一个简单的hello例子也报错,请大侠指点,谢谢!
服务端正常,客户端异常如下:
java.io.IOException: Server returned HTTP response code: 401 for URL: http://10.0.20.45:8080/
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1149)
at org.apache.xmlrpc.DefaultXmlRpcTransport.sendXmlRpc(DefaultXmlRpcTransport.java:87)
at org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:72)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:194)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:185)
at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)
at xmlrpc.HelloClient.main(HelloClient.java:22)
附源代码:
package xmlrpc;
import org.apache.xmlrpc.WebServer;public class HelloServer {
    public HelloServer() {
    }    public static void main(String[] args) {
        if(args.length < 1) {
            System.out.println("Usage: java javaxml2.HelloServer [port]");
            System.exit(-1);
        }
        System.out.println("Strating xml-rpc webServer........");
        try {
            WebServer server = new WebServer(Integer.parseInt(args[0]));
            server.acceptClient("10.0.20.45");
            server.addHandler("hello",new HelloHandler());
            System.out.println(
                "Registered HelloHandler class to \"hello\"");
            System.out.println("Now accepting requests...");        } catch(Exception e) {
            System.out.println("couldn't start server..........");
        }
    }
}package xmlrpc;
import org.apache.xmlrpc.XmlRpcClient;
import java.net.*;
import java.util.Vector;
import java.io.*;
import org.apache.xmlrpc.*;public class HelloClient {
    public HelloClient() {
    }    public static void main(String[] args) {
        if(args.length < 1) {
            System.out.println("Usage: java HelloClient [your name]");
            System.exit(-1);
        }
        try {
            XmlRpcClient client = new XmlRpcClient(new URL("http://10.0.20.45:8080/"));
            Vector params = new Vector();
            params.addElement(args[0]);
            try {
                String result = (String) client.execute("hello.sayHello",
                        params);
                System.out.println("response from server = " + result);
            } catch (IOException ex1) {
                ex1.printStackTrace();
            } catch (XmlRpcException ex1) {
                ex1.printStackTrace();
            } catch(Exception ex1) {
                ex1.printStackTrace();
            }
        } catch (MalformedURLException ex) {
            System.out.println("Inncorrect URL for xmlrpcserver.........." + ex.toString());
        }
    }
}package xmlrpc;public class HelloHandler {
    public HelloHandler() {
    }    public String sayHello(String name) {
        return "Hello" + name;
    }
}