使用 class 中介在 WSO2 ESB 中创建自定义代理时出错

Error occurred when create custom proxy in WSO2 ESB using class mediator

我用的是WSO2_ESB5.0版本。下面提到了我写的class mediator

  public abstract class CustomMediator extends AbstractMediator {

    private static final Log log = LogFactory.getLog(CustomMediator.class);

    private String num1 = "10";
    private String num2 = "15";
    private int sum = 0;

    public boolean mediate(MessageContext mc) {

        log.info("Call the custom mediator");
        sum = Integer.parseInt(num1) + Integer.parseInt(num2);
        String totalOfIntegers = String.valueOf(sum);
        mc.setProperty("totalOfIntegers", totalOfIntegers);

        log.info("Sum of two numbers : " + totalOfIntegers);

        return true;
    }

    public String getType() {
        return null;
    }

    public void setTraceState(int traceState) {
        traceState = 0;
    }

    public int getTraceState() {
        return 0;
    }

    public String getNum1() {
        return num1;
    }

    public void setNum1(String num1) {
        this.num1 = num1;
    }

    public String getNum2() {
        return num2;
    }

    public void setNum2(String num2) {
        this.num2 = num2;
    }
}

然后我将 the.jar 文件上传到 /repository/components/lib 文件夹。下面提到了我为访问 class 调解器而创建的自定义代理。

<?xml version="1.0" encoding="UTF-8"?>
<inSequence xmlns="http://ws.apache.org/ns/synapse">
    <log/>
    <class name="com.mediator.java.CustomMediator">
        <axis2ns1:property name="num1" value="10" xmlns:axis2ns1="http://ws.apache.org/ns/synapse"/>
        <axis2ns2:property name="num2" value="12" xmlns:axis2ns2="http://ws.apache.org/ns/synapse"/>
    </class>
    <property expression="get-property('default','totalOfIntegers')"
        name="getTotalValue" scope="default" type="STRING"/>
    <log>
        <property expression="get-property('default','getTotalValue')" name="Total :"/>
    </log>
</inSequence>

<?xml version="1.0" encoding="UTF-8"?>
<outSequence xmlns="http://ws.apache.org/ns/synapse">
    <log/>
    <send/>
</outSequence>

创建自定义代理服务时,出现如下错误。

Unable to add proxy service :: Error in instantiating class : com.mediator.java.CustomMediator-Error in instantiating class : com.mediator.java.CustomMediator

你能帮我解决这个问题吗?非常感谢任何帮助或解决方法。

您能否将 CustomMediator class 定义为非抽象的并尝试。

public class CustomMediator extends AbstractMediator

谢谢