<HTML ><HEAD ><TITLE >Java $B$G$N(B XML-RPC $B$N;H$$J}(B</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.54"><LINK REL="HOME" TITLE="XML-RPC HOWTO" HREF="index.html"><LINK REL="PREVIOUS" TITLE="C $B$*$h$S(B C++ $B$G$N(B XML-RPC $B$N;H$$J}(B" HREF="xmlrpc-howto-c.html"><LINK REL="NEXT" TITLE="PHP $B$G$N(B XML-RPC $B$N;H$$J}(B" HREF="xmlrpc-howto-php.html"></HEAD ><BODY CLASS="SECTION" BGCOLOR="#FFFFFF" TEXT="#000000" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >XML-RPC HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="xmlrpc-howto-c.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="xmlrpc-howto-php.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECTION" ><H1 CLASS="SECTION" ><A NAME="XMLRPC-HOWTO-JAVA" >9. Java $B$G$N(B XML-RPC $B$N;H$$J}(B</A ></H1 ><P >Hannes Walln$Bvf(Ber $B$O(B Java $BMQ(B XML-RPC $B$N(B<A HREF="http://helma.at/hannes/xmlrpc/" TARGET="_top" >$BM%$l$?<BAu(B</A >$B$rDs6!$7$F$$$^$9!#(B</P ><P >$B%$%s%9%H!<%k$O!"G[I[J*$r%@%&%s%m!<%I$7$F!"(Bunzip $B$7$F!"(B <TT CLASS="ENVAR" >CLASSPATH</TT > $B$K(B <TT CLASS="FILENAME" >*.jar</TT > $B%U%!%$%k$rDI(B $B2C$7$^$9!#(BUnix $B%7%9%F%`>e$G!"<!$NF~NO$K$h$j$3$N:n6H$,9T$($^$9!#(B</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >bash$ unzip xmlrpc-java.zip bash$ cd xmlrpc-java/lib bash$ CLASSPATH=`pwd`/openxml-1.2.jar:`pwd`/xmlrpc.jar:$CLASSPATH</PRE ></FONT ></TD ></TR ></TABLE ><DIV CLASS="SECTION" ><H2 CLASS="SECTION" ><A NAME="XMLRPC-HOWTO-JAVA-CLIENT" >9.1. Java $B%/%i%$%"%s%H(B</A ></H2 ><P >$B<!$N%W%m%0%i%`%3!<%I$r(B <TT CLASS="FILENAME" >JavaClient.java</TT > $B$H$7$F%U%!%$%k$KJ]B8$7$F$/$@(B $B$5$$!#(B</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >import java.util.Vector; import java.util.Hashtable; import helma.xmlrpc.*; public class JavaClient { // The location of our server. private final static String server_url = "http://xmlrpc-c.sourceforge.net/api/sample.php"; public static void main (String [] args) { try { // Create an object to represent our server. XmlRpcClient server = new XmlRpcClient(server_url); // Build our parameter list. Vector params = new Vector(); params.addElement(new Integer(5)); params.addElement(new Integer(3)); // Call the server, and get our result. Hashtable result = (Hashtable) server.execute("sample.sumAndDifference", params); int sum = ((Integer) result.get("sum")).intValue(); int difference = ((Integer) result.get("difference")).intValue(); // Print out our result. System.out.println("Sum: " + Integer.toString(sum) + ", Difference: " + Integer.toString(difference)); } catch (XmlRpcException exception) { System.err.println("JavaClient: XML-RPC Fault #" + Integer.toString(exception.code) + ": " + exception.toString()); } catch (Exception exception) { System.err.println("JavaClient: " + exception.toString()); } } }</PRE ></FONT ></TD ></TR ></TABLE ></DIV ><DIV CLASS="SECTION" ><H2 CLASS="SECTION" ><A NAME="XMLRPC-HOWTO-JAVA-SERVER" >9.2. $BFHN)7?(B Java $B%5!<%P(B</A ></H2 ><P >$B<!$N%W%m%0%i%`%3!<%I$r(B <TT CLASS="FILENAME" >JavaServer.java</TT > $B$H$7$F%U%!%$%k$KJ]B8$7$F$/$@(B $B$5$$!#(B</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >import java.util.Hashtable; import helma.xmlrpc.*; public class JavaServer { public JavaServer () { // Our handler is a regular Java object. It can have a // constructor and member variables in the ordinary fashion. // Public methods will be exposed to XML-RPC clients. } public Hashtable sumAndDifference (int x, int y) { Hashtable result = new Hashtable(); result.put("sum", new Integer(x + y)); result.put("difference", new Integer(x - y)); return result; } public static void main (String [] args) { try { // Invoke me as <http://localhost:8080/RPC2>. WebServer server = new WebServer(8080); server.addHandler("sample", new JavaServer()); } catch (Exception exception) { System.err.println("JavaServer: " + exception.toString()); } } }</PRE ></FONT ></TD ></TR ></TABLE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="xmlrpc-howto-c.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="xmlrpc-howto-php.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >C $B$*$h$S(B C++ $B$G$N(B XML-RPC $B$N;H$$J}(B</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >PHP $B$G$N(B XML-RPC $B$N;H$$J}(B</TD ></TR ></TABLE ></DIV ></BODY ></HTML >