Posts Tagged ‘microservice’

This article demonstrate how to build a sample REST service using WSO2 Micro Service Server.

Step 1: Build the product

git clone
mvn clean install

Step 2: Create sample micro service project

mvn archetype:generate \
-DarchetypeGroupId=org.wso2.msf4j \
-DarchetypeArtifactId=msf4j-microservice \
-DarchetypeVersion=1.0.0-SNAPSHOT \
-DgroupId=org.example -DartifactId=Customer-Service \
-Dversion=0.1-SNAPSHOT \
-Dpackage=org.example.service \

Once the project is created, it will generate following source code structure. is service file generated for you.

Sample service sources  generated

Sample service sources generated

Step 3: Create sample Json service

Open from your IDE and replaces generated sample methods with following method. Method “getCustomer” exposes a GET service which return a simple Customer object.

public class CustomerService {

@Produces({"application/json", "text/xml"})
public Response getCustomer() {
 return Response.status(Response.Status.OK).entity(new Customer("udara", "wso2")).build();

private class Customer {
String name;
String company;

public Customer(String name, String company) { = name; = company;

Step 4: Run using your IDE

2016-02-10 12:17:41 INFO  MicroservicesRegistry:76 – Added microservice: org.example.service.HelloService@6aa8ceb6
2016-02-10 12:17:41 INFO  NettyListener:56 – Starting Netty Http Transport Listener
2016-02-10 12:17:42 INFO  NettyListener:80 – Netty Listener starting on port 8080
2016-02-10 12:17:42 INFO  MicroservicesRunner:122 – Microservices server started in 436ms

Step 5 : Invoke the micro service we just implemented

$ curl -X GET http://localhost:8080/customer/ | python -m json.tool
“company”: “wso2”,
“name”: “sampath”

Please note that “customer” is the path given to CustomerService class.