Sunday, June 4, 2017

SOAP web services standalone application with CXF framework

This is a simple Java SOAP web services application using CXF framework.

1. Setup
Download CXF run-time binary at and add it to your Eclipse.

2. Create an interface which declares two web services add and multiply.

package math.util;
public interface CalcInterface {

     int add(int a, int b);

  int multiply(int a, int b);


3.       Create implementation class for this interface

package math.util;

public class Calc implements CalcInterface {

   public int add(int a, int b) {
   return a + b;

   public int multiply(int a, int b) {
          return a * b;

4. Create WSDL file for the interface
Right click on and select Web services -> Create Web Service


Input the WSDL file name you want to create (calc.wsdl).

CXF needs startup web server to generate stuffs. Assuming you already created a web server.

Last, click Finish to generate web services stuffs.

You will get file calc.wsdl and server stuffs as below. All is for web service for server side.

By default, generated code will set web service endpoint at address:
Type below URL and start web service server (just run main method in file to see your services:

5. Create web services for Client side.
Right click on file calc.wsdl and select Web services -> Generate client.

You will get:

Go to and change URL of the service endpoint to http://localhost:9090/CalcPort?wsdl.

Finally, Go to file and run the main method to test your services. Remember to launch CXF server in class first. Note: this is a standalone application so it doesn't request web server as Tomcat. Actually, CXF run-time already integrated a web server for its functions.

Or to change arguments and see the results

Source Code at github

No comments: