How to send a response from a custom connector back to the process model?

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 :slight_smile:

Cheers!
Christian

I have found the camunda-bpm-mail sample. It is a good project to get an Idea of impl a custom connector.

1 Like