java - WSO2 ESB 定制连接器

标签 java wso2 wso2-esb

我对为 WSO2 ESB 5.0.0 创建自定义连接器感到困惑。我需要一个用于旧设备(温度计)的自定义连接器。该连接器将通过 ESB REST API 调用。连接器唯一应该做的就是创建到给定 IP 地址(连接器输入参数)的套接字连接,然后解析响应数据。该程序单独运行完美。但是,我不知道如何将其集成到自定义连接器。特别是如何从连接器发送数据作为对 API 调用的响应。

我的连接器代码:

@Override
public void connect(MessageContext messageContext) throws ConnectException {
    Object templateParam = getParameter(messageContext, "generated_param");
    try {
        log.info("sample connector received message :" + templateParam);
        /**Add your connector code here 
        **/
        Socket socket = new Socket("172.16.xxx.xxx", 2000);

        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        out.write("*SRTC\r");
        out.flush();

        System.out.println(in.readLine());

        out.close();
        in.close();
        socket.close();

    } catch (Exception e) {
    throw new ConnectException(e);  
    }
}

in.readLine() 中的消息应该发送到哪里???

最佳答案

已解决:我将响应存储在 messageContext 中:

messageContext.setProperty("temperature", Double.parseDouble(in.readLine()));

然后与下一个中介者一起处理。谢谢

关于java - WSO2 ESB 定制连接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940701/

相关文章:

java - 如何在 Junit (Java) 中测试集合

java - 为什么我的输出文件的大小小于原始文件的大小?

java - 我可以在不关闭 GUI 的情况下使用 System.exit() 终止程序吗?

java - 如何在 wso2 EI 6.3.0 中使用 "text/plain"作为内容类型来格式化电子邮件正文?

xml - WSO2 ESB 丰富迭代器中介器内的中介器

java - Android 相机应用程序 - 大位图处理

wso2 - 验证 WSO2 APIM 1.9.0 : what's the public key? 生成的 JWT

wso2 - 从WSO2 ESB API中的SynapseXPath变量获取URI VAR

WSO2 分析数据库过大

java - WSO2 ESB 消息上下文无法通过自定义类中介器更改