Hi @all,
I’m trying to create a custom connector, that can I reuse in different process models.
public class HassioConnector extends AbstractConnector<HassioConnectorRequest, HassioConnectorResponse> { ... public HassioConnector(String connectorId) { super(connectorId); } @Override public HassioConnectorRequest createRequest() { return new HassioConnectorRequest(this); } @Override public ConnectorResponse execute(HassioConnectorRequest request) { Map<String, Object> requestParameters = request.getRequestParameters(); LOGGER.info("Executing operation. Given request = {}, given request parameters = {}", request, requestParameters); // do something... response.getResponseParameters().put("respone", "Das soll einfach mal ein Ergebnis sein..."); return response; } }
If I set an input parameter inside the model, I can get it while using “request.getRequestParameters()”. But I’m not sure how to set the response, that will be determined, if something is done here. Is it right to perform “response.getResponseParameters().put(“respone”, “Das soll einfach mal ein Ergebnis sein…”);” ?
And how do I map the response back to a process variable defining into the model?
Is it correct to define an output parameter with a process-variable-name? Can “Variable Assignment Value” be blank?
Have a look here:
<bpmn:sendTask id="Activity_RolladenHochfahren" name="Rolladen hochfahren">
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
<camunda:inputParameter name="path">"helloWorld"</camunda:inputParameter>
<camunda:outputParameter name="response" />
</camunda:inputOutput>
<camunda:connectorId>hassio-connector</camunda:connectorId>
</camunda:connector>
</bpmn:extensionElements>
<bpmn:incoming>Flow_193a8lb</bpmn:incoming>
<bpmn:outgoing>Flow_05z9rrb</bpmn:outgoing>
</bpmn:sendTask>
Thanks to everybody for some helpful tips
Cheers!
Christian