Description of problem: Using a code like this: KieServicesConfiguration config = createJmsConfiguration(); config.setMarshallingFormat(MarshallingFormat.JSON); config.setExtraJaxbClasses(Collections.singleton(clazz)); ... RuleServicesClient rules; ... rules.executeCommands("testContainer", commands.newBatchExecution(commandList)); Throws unsupported operation exception: java.lang.UnsupportedOperationException: null at java.util.AbstractCollection.add(AbstractCollection.java:262) at org.kie.server.api.marshalling.json.JSONMarshaller.<init>(JSONMarshaller.java:69) at org.kie.server.api.marshalling.MarshallerFactory.getMarshaller(MarshallerFactory.java:41) at org.kie.server.client.impl.AbstractKieServicesClientImpl.<init>(AbstractKieServicesClientImpl.java:72) at org.kie.server.client.impl.KieServicesClientImpl.<init>(KieServicesClientImpl.java:60) at org.kie.server.client.KieServicesFactory.newKieServicesClient(KieServicesFactory.java:93) at com.redhat.xpaas.brms.transport.TransportTest.evaluateRules(TransportTest.java:249) at com.redhat.xpaas.brms.transport.TransportTest.testRestJson(TransportTest.java:144) Version-Release number of selected component (if applicable): kie-server-api 6.3.0.Final.redhat-1 How reproducible: Always Additional info: The problem is in JSONMarshaller:69 when the passed set is singleton/unmodifiable instance.
fixed on master and 6.4.x droolsjbpm-integration master: https://github.com/droolsjbpm/droolsjbpm-integration/commit/cd0c5d2294a5cdf5e9b4f33197b45304f72a1091 6.4.x: https://github.com/droolsjbpm/droolsjbpm-integration/commit/e1ecd7cc8da0d228caad871b4c00669f36db1a44
Verified in 6.3.0 ER1