我对为 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/