Ich bin verwirrt mit der Erstellung eines benutzerdefinierten Konnektors für WSO2 ESB 5.0.0. Ich brauche einen benutzerdefinierten Anschluss für Legacy-Gerät (Thermometer). Dieser Connector wird über die ESB REST API aufgerufen. Der Connector sollte nur eine Socket-Verbindung zu einer bestimmten IP-Adresse (Connector-Eingabeparameter) erstellen und dann die Antwortdaten analysieren. Das Programm funktioniert perfekt alleine. Ich weiß jedoch nicht, wie ich es in benutzerdefinierten Connector integrieren soll. Vor allem, wie Daten vom Connector als Antwort auf den API-Aufruf gesendet werden.WSO2 ESB benutzerdefinierter Konnektor
Mein Steckverbindercode:
@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);
}
}
Wo die Nachricht in in.readLine() gesendet werden soll ???
Sie die in bestimmten müssen/Parameter für Ihren Mediator aus. Auf diese Parameter kann innerhalb des Mediators als Eigenschaften zugegriffen werden, und die Mediatorantwort kann in eine Eigenschaft oder in die Nachrichtennutzlast eingefügt werden. –
danke, außerdem bin ich nicht sicher, wie benutzerdefinierte Connector in ESB API aufgerufen wird. Was ist die richtige API-Sequenz? – vladikk