HttpActivityBehaviorImpl missing in 6.6.x of flowable

We have built our implementation for HttpActivityBehaviorImpl by extending it

public class HASHttpActivityBehavior extends HttpActivityBehaviorImpl {

This was fine till 6.4.2. We then upgraded to 6.6.x

HttpActivityBehaviorImpl is missing. The implementation was a critical part of our application

Classes that we came across that are missing in the new version are

import org.flowable.http.HttpActivityExecutor;
import org.flowable.http.bpmn.impl.HttpActivityBehaviorImpl;
import org.flowable.http.bpmn.impl.ProcessErrorPropagator;

By looking at git history and files changed I’d suggest starting to look at:

org.flowable.engine.impl.bpmn.http.DefaultBpmnHttpActivityDelegate

which in July, 2020 has a git history entry:

Use JavaDelegate instead of an ActivityBehaviour for the Http Task.

and this test

org.flowable.http.bpmn.custom.HttpActivityBehaviorCustomTestImpl

that was modified in July, 2020 to use DefaultBpmnHttpActivityDelegate.

I am not the developer responsible for any of these changes (so don’t shoot the messenger :slight_smile: )

Thanks for your response.

Which dependency will get me the class, org.flowable.http.bpmn.custom.HttpActivityBehaviorCustomTestImpl

I have seen DefaultBpmnHttpActivityDelegate. Guess it is the class that executes the Http Task. Do we just extend it and change it as required

In the earlier behavior implementation, what we did was mainly in the catch block where we had a class that implements HttpResponseHandler and later propagated (Last line of code in the Response handler is throw new BpmnError(“500”, finalResponse.toString()):wink: to boundary delegate to avoid any dead letter etc. We just need that again

	} catch (Exception e) {
		logger.error(e.getMessage(), e);
		JsonObject json = new JsonObject();
		json.addProperty("errorMessage", e.getMessage());
		HttpResponse response = new HttpResponse(503);
		response.setBody(json.toString());
		HASHttpResponseBehavior responseBehavior = new HASHttpResponseBehavior();
		try {
			responseBehavior.handleHttpResponse(execution, response);
		} catch (BpmnError error) {
			ErrorPropagation.propagateError(error, execution);
		}
	}

It is a test class and thus not included in any jar file.

The documentation has recently been updated for the HTTP task; see BPMN 2.0 Constructs · Flowable Open Source Documentation