diff --git a/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/AbstractRequestExecutor.java b/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/AbstractRequestExecutor.java index 4fd11b188..101fbe5f5 100644 --- a/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/AbstractRequestExecutor.java +++ b/impl/http/src/main/java/io/serverlessworkflow/impl/executors/http/AbstractRequestExecutor.java @@ -27,6 +27,7 @@ import io.serverlessworkflow.impl.auth.AuthUtils; import io.serverlessworkflow.types.Errors; import jakarta.ws.rs.ProcessingException; +import jakarta.ws.rs.WebApplicationException; import jakarta.ws.rs.client.Invocation.Builder; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.Response.Status.Family; @@ -59,11 +60,10 @@ public WorkflowModel apply( .fromAny(response.readEntity(converter.responseType())); } catch (ProcessingException | IllegalStateException ex) { throw new WorkflowException( - WorkflowError.error(Errors.DATA.toString(), Errors.DATA.status()) - .details(ex.getMessage()) - .instance(task.position().jsonPointer()) - .build(), - ex); + WorkflowError.communication(Errors.DATA.status(), task, ex).build(), ex); + } catch (WebApplicationException ex) { + throw new WorkflowException( + WorkflowError.communication(ex.getResponse().getStatus(), task, ex).build(), ex); } }