/** * This <em>can</em> be called from command line, but you'll have to edit and recompile to change * the server port or handler objects. By default, it sets up the following responders: * * <ul> * <li>A java.lang.String object * <li>The java.lang.Math class (making its static methods callable via XML-RPC) * <li>An Echo handler that returns the argument array * </ul> */ public static void main(String args[]) { System.err.println("Usage: java helma.xmlrpc.WebServer [port]"); int p = 8080; if (args.length > 0) try { p = Integer.parseInt(args[0]); } catch (NumberFormatException nfx) { System.err.println("Error parsing port number: " + args[0]); } // XmlRpc.setDebug (true); XmlRpc.setKeepAlive(true); try { WebServer webserver = new WebServer(p); // webserver.setParanoid (true); // webserver.acceptClient ("192.168.*.*"); webserver.addHandler("string", "Welcome to XML-RPC!"); webserver.addHandler("math", Math.class); webserver.addHandler("auth", new AuthDemo()); webserver.addHandler("$default", new Echo()); // XmlRpcClients can be used as Proxies in XmlRpcServers which is a cool feature for applets. webserver.addHandler("mttf", new XmlRpcClient("http://www.mailtothefuture.com:80/RPC2")); System.err.println("started web server on port " + p); } catch (IOException x) { System.err.println("Error creating web server: " + x); } }
/** * This <em>can</em> be called from command line, but you'll have to edit and recompile to change * the server port or handler objects. By default, it sets up the following responders: * * <ul> * <li>A java.lang.String object * <li>The java.lang.Math class (making its static methods callable via XML-RPC) * <li>An Echo handler that returns the argument array * </ul> * * @see #addDefaultHandlers() */ public static void main(String[] argv) { int p = determinePort(argv, 8080); // XmlRpc.setDebug (true); XmlRpc.setKeepAlive(true); WebServer webserver = new WebServer(p); try { webserver.addDefaultHandlers(); webserver.start(); } catch (Exception e) { System.err.println("Error running web server"); e.printStackTrace(); System.exit(1); } }