cancel
Showing results for 
Search instead for 
Did you mean: 

Failed to serialize to a RestVariable instance

davidparraz41
Champ on-the-rise
Champ on-the-rise
I'm trying to save a new variable to my process via REST API, 
but when I run the POST, the console shows me the following error:

response.body({"message":"Bad request","exception":"Failed to serialize to a RestVariable instance"})

MY CODE:

String name = "variable";
String type = "string";
String value = "value";
//org.activiti.rest.service.api.engine.variable.RestVariable
RestVariable var = new RestVariable();
var.setName(name);
var.setType(type);
var.setValue(value);
//SPRING RESTOPERATION
restOperations.postForObject(http://urlserver:8080/activiti-rest/service/runtime/process-instances/512551/variables, var, String.class);

Regards!
1 ACCEPTED ANSWER

davidparraz41
Champ on-the-rise
Champ on-the-rise

update my code for:

List<Map<String, String>> maps = new ArrayList<>();
Map<String, String> map = new HashMap<String, String>();
map.put("name", "variable");
map.put("type", "string");
map.put("value", "value");
maps.add(map);
String json = new Gson().toJson(maps);

this worked!

Regards! 

View answer in original post

2 REPLIES 2

daisuke-yoshimo
Star Collaborator
Star Collaborator

Because RestVariable class does not implement Serializable interface.

Activiti/RestVariable.java at master · Activiti/Activiti · GitHub 

davidparraz41
Champ on-the-rise
Champ on-the-rise

update my code for:

List<Map<String, String>> maps = new ArrayList<>();
Map<String, String> map = new HashMap<String, String>();
map.put("name", "variable");
map.put("type", "string");
map.put("value", "value");
maps.add(map);
String json = new Gson().toJson(maps);

this worked!

Regards!