WSO2 ESB Rule Mediator Example

This post is to demonstrate how to write Rule mediator in WSO2 ESB.
This example is tested in WSO2 ESBĀ 4.7.0
The example, get the list of students with marks for their subjects and, inside the proxy it check whether the each student has passed the each subject and print the result. To define type of the input data POJO adapters are used in this example.

1.Write the following POJO classes.

Student class

package com.example.rulemediator;

public class Student {

	private String indexNumber;
	private String name;
	private Subject[] subjects;

	public String getIndexNumber() {
		return indexNumber;
	public void setIndexNumber(String indexNumber) {
		this.indexNumber = indexNumber;
	public String getName() {
		return name;
	public void setName(String name) { = name;
	public Subject[] getSubjects() {
		return subjects;
	public void setSubjects(Subject[] subjects) {
		this.subjects = subjects;

Subject class

package com.example.rulemediator;

public class Subject {

	private String subjectCode;
	private String subjectName;
	private int score;

	public String getSubjectCode() {
		return subjectCode;
	public void setSubjectCode(String subjectCode) {
		this.subjectCode = subjectCode;
	public String getSubjectName() {
		return subjectName;
	public void setSubjectName(String subjectName) {
		this.subjectName = subjectName;
	public int getScore() {
		return score;
	public void setScore(int score) {
		this.score = score;

2. Then create a Jar file containing above classes and copy it to ESB_HOME/repository/components/lib folder and start the ESB.

Continue reading