Hide Forgot
Description of problem: In certain szenarios using a custom workitemhandler causes errors when saving a process model with the custom workitemhandler in it. Version-Release number of selected component (if applicable): 6.2 Steps to Reproduce: 1) Create Class public class LightWorkItemHandler { public void abortWorkItem(WorkItem wi, WorkItemManager wim) { System.out.println("Oh no, my item aborted.."); } public void executeWorkItem(WorkItem wi, WorkItemManager wim) { wim.completeWorkItem(wi.getId(), null); } } 2) Imported it to the repository via "Authoring" -> "Artefact Repository" 3) Add to my project as a project dependency 4) Registered in ./jboss-eap-6.4/standalone/deployments/business-central.war/WEB-INF/classes/META-INF/kie-wb-deployment-descriptor.xml <workItemHandler name="LightController" type="new com.redhat.demo.iotdemo.LightWorkItemHandler()"/> 5) Created new Work Item Definition import org.drools.core.process.core.datatype.impl.type.StringDataType; import org.drools.core.process.core.datatype.impl.type.ObjectDataType; [ [ "name" : "LightController", "results" : [ "Result" : new ObjectDataType("java.util.Map") ], "displayName" : "My LightController", "icon" : "../../../../../../../../../global/defaultlogicon.gif" ] ] Actual results: bpm_1 | 20:35:00,424 ERROR [org.jbpm.designer.bpmn2.impl.Bpmn2JsonUnmarshaller] (http-/0.0.0.0:8080-7) 0 bpm_1 | 20:35:00,427 ERROR [stderr] (http-/0.0.0.0:8080-7) java.lang.NullPointerException bpm_1 | 20:35:00,428 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.bpmn2.util.Bpmn2ResourceImpl.setIdEvenIfSet(Bpmn2ResourceImpl.java:157) bpm_1 | 20:35:00,429 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.bpmn2.util.Bpmn2ResourceImpl.prepareSave(Bpmn2ResourceImpl.java:126) bpm_1 | 20:35:00,430 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jbpm.designer.bpmn2.resource.JBPMBpmn2ResourceImpl.createXMLSave(JBPMBpmn2ResourceImpl.java:58) bpm_1 | 20:35:00,431 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:192) bpm_1 | 20:35:00,431 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1406) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$1.parseModel(JbpmProfileImpl.java:238) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jbpm.designer.repository.servlet.AssetServiceServlet.doPost(AssetServiceServlet.java:121) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:53) bpm_1 | 20:35:00,432 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:45) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) bpm_1 | 20:35:00,433 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) bpm_1 | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) bpm_1 | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) bpm_1 | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) bpm_1 | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419) bpm_1 | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) bpm_1 | 20:35:00,434 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) bpm_1 | 20:35:00,435 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) bpm_1 | 20:35:00,437 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) bpm_1 | 20:35:00,438 ERROR [stderr] (http-/0.0.0.0:8080-7) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) bpm_1 | 20:35:00,439 ERROR [stderr] (http-/0.0.0.0:8080-7) at java.lang.Thread.run(Thread.java:745) bpm_1 | 20:35:00,440 ERROR [org.jbpm.designer.repository.servlet.AssetServiceServlet] (http-/0.0.0.0:8080-7) Error storing asset: null Expected results: Additional info:
Hi team, We have the same problem. Anyone knows if there is any workaround? Our customer is blocked in this step because they cannot include their custom workitemhandler in the process. Regards, Oscar.
This looks like the same bug as https://bugzilla.redhat.com/show_bug.cgi?id=1241550 As a workaround, adding a parameter to the WorkItemHandler, remembering to also add the parameter to the definition in the WorkItemDefinitions should work.
*** This bug has been marked as a duplicate of bug 1241550 ***