0 Replies Latest reply on Jul 1, 2014 12:52 AM by riowork

    How complete workitem under jbpm6.0.1  with java remote api ?

    riowork

      I want to use the remote api to get ksession and get running node, complete the workitem.

      my code:

      try {
        String url="http://localhost:8080/jbpm-console/";
        RemoteRestRuntimeFactory restSessionFactory = new RemoteRestRuntimeFactory("com.demo:demoPro:1.0", new URL(url), "krisv", "krisv");
        RuntimeEngine engine = restSessionFactory.newRuntimeEngine();
        KieSession ksession = engine.getKieSession();
        ProcessInstance processInstance=ksession.getProcessInstance(101);
      
        WorkflowProcessInstance workflowProcessInstance = ((WorkflowProcessInstance)processInstance);
        Collection<NodeInstance> nodeInstances= workflowProcessInstance.getNodeInstances();
        Iterator<NodeInstance> ite=nodeInstances.iterator();
        while (ite.hasNext()) {
        NodeInstance nodeInstance=(NodeInstance)ite.next();
        String nodeType=nodeInstance.getNode().getClass().getSimpleName();
        System.out.println(nodeType);
        if("WorkItemNode".equals(nodeType)){
            WorkItemNodeInstance workItemNodeInstance=(WorkItemNodeInstance)nodeInstance;
            ksession.getWorkItemManager().completeWorkItem(workItemNodeInstance.getWorkItemId(), null);
        }
        }
        } catch (Exception e) {
        e.printStackTrace();
        }
      
      

      when execution error:

      java.lang.ClassCastException:
      org.kie.services.client.serialization.jaxb.impl.process.JaxbProcessInstanceResponse cannot be cast to org.kie.api.runtime.process.WorkflowProcessInstance
      
      

       

      How complete workitem under jbpm6.0.1  with java remote api ?