Java, Software Development

Web Service Using Apache XML-RPC: Server And Client-Side

This article demonstrates how to use Apache XML-RPC in Java command-line applications. We will create programs both for the XML-RPC server and client. NOTE: This post is old and may not work with JDK 9 and beyond.

Software Environment

  • Windows 7 Professional SP1
  • Eclipse – Kepler Release
  • Java 1.7 (1.7.0_67 – Windows x86)
  • Apache Commons Codec 1.7
    • Download from Choose file name with *current* substring.
    • Used by the XML-RPC client
  • Apache Commons HttpClient 3.0
    • Download from
    • Used by the XML-RPC client
  • Apache XML-RPC 3.1.3
    • Download from
  • Apache Tomcat 7.0.56
    • We’ll reference and use only the servlet-api.jar file from Tomcat.
    • Used by the XML-RPC server only

Create an XML-RPC Project in Eclipse

XML-RPC is the precursor of SOAP. Before writing the codes, you need to create a Java project in Eclipse. Then, download the files and manually put them in a folder (in this case, the “lib” folder) within the project. Lastly, reference all these jar files.


The Apache XML-RPC Web Service: Server-Side

When creating a server, we need three (3) things:

  1. Our service class.
    It is a POJO whose methods can be invoked by remote clients, of course, via XML-RPC and through the XML-RPC server.
    This is where we register our service class so that the XML-RPC server can route RPC calls to the appropriate object and method. If we have worked on Servlets, the file is like our web.xml for this command-line application.IMPORTANT: This file needs to be in org.apache.xmlrpc. Webserver package. Create this package in our project and move or save the .properties file there.
  3. A reference to servlet-api.jar
    The ServletWebServer class uses this.

The XML-RPC server codes are written as follows:

Modify [crayon-63871632a081a432714707-i/]

Next, register our service class on this file. Note that we need a fully qualified name of the class. In this article, my CalculartorWebService class resides in the default package.

The Apache XML-RPC Web Service Client

We can run both the server and client applications in Eclipse.

Sample Output: Both Apache XML-RPC Web Service Server and Client-Side

Finally, test both server and client in Eclipse. Open and run it first.





Next, once the server is up and running, go to the file and run it.


Download the Project


Got comments or suggestions? We disabled the comments on this site to fight off spammers, but you can still contact us via our Facebook page!.

You Might Also Like