Description of problem: I have following REST server: <cxf:rsServer id="rsJsonServer" address="http://localhost:58002/restjson" serviceClass="org.kie.jax.rs.CommandExecutorImpl"> <cxf:providers> <bean class="org.kie.jax.rs.CommandMessageBodyReader" /> </cxf:providers> </cxf:rsServer> for that I've created this camel route: <route id="restJsonGW"> <from uri="cxfrs://bean://rsJsonServer" /> <policy ref="kiePolicy"> <unmarshal ref="json" /> <to uri="kie:ksession1" /> <marshal ref="json" /> </policy> </route> When I work just with business rules and objects, the responses are right. The problem is when I start a business process. For xstream I always receive a result with process instance id but not for json. The result is there but without any values. To marshall the batch xml, I use BatchExecutionHelper.newJSonMarshaller(). String outIdentifier = "taskProcess"; StartProcessCommand startProcessCommand = new StartProcessCommand(HUMAN_TASK_PROCESS_ID, new HashMap<String, Object>(), outIdentifier); ExecutionResults result = sc.execute(startProcessCommand); assertNotNull(result); Long processInstanceId = (Long) result.getValue(outIdentifier); // the processInstanceId is null and as I logged the result, actually there are no values at all.
JSON marshalling of StartProcessCommand was missing outIdentifier master: http://github.com/droolsjbpm/drools/commit/47a6171c3 6.0.x: http://github.com/droolsjbpm/drools/commit/8407a85ef
Verified in BPMS 6.0.0.ER7