I drew a process workflow in which there is an http task. This http task contains a requestUrl containing hardcode and also variables (for example https: // car / $ {car_number}. When I want to start process by posting in the url http://localhost:8080/flowable-task/app/rest/process-instances, and include a body with the name and the processDefinitionId, I get 500: Internal Server Error. The problem is ( as described in the docker container): Caused by: org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: https: // car /.
How can I get start process and give it a value for car_id so that he goes to the right url?
Are there spaces in your URL as shown in in the message? https: // car /
is not a valid hostname, but https://car/
would attempt to connect to the host car
.
As far as giving it an id, ${car_number}
will attempt to dereference a process or task variable called car_number
, you would need to add the variable to the process.
There is not the probleme, only copy/paste typo
I suspected. The message was incomplete when I posted. See my reply about the variable, there are several methods to add a variable to a process, sepending on how you are starting the process.
How can I add variable to the process? I you mean that I have to add in the body object : variables: [ {car_id: 1} ] for exemple, there is not work
How are you starting the process? If you are using the Java API, you can pass in the process variables as a map when you create the process instance. You could also collect the ID using a start form or form on a user task. If you are using the REST API, you’d add something like this to the body when you post to /runtime/process-instances
"variables": [
{
"name": "car_id",
"type": "integer",
"value": "1",
}
]
But if the variable name is car_id
then your HTTP Task would call out to https://car/${car_id}
(vs. ${car_number}
)