Foren

How to get workflow instance Id

thumbnail
Ivano Carrara, geändert vor 12 Jahren.

How to get workflow instance Id

Expert Beiträge: 345 Beitrittsdatum: 03.07.05 Neueste Beiträge
Hi all,

Using Liferay's workflow framework, I'm building a portlet that create an asset and start the workflow process to approve it.
In some circumstances I need to assign this process to a certain portal's user.

So, after I call the WorkflowHandlerRegistryUtil.startWorkflowInstance() method, I need to use the WorkflowTaskManagerUtil.assignWorkflowTaskToUser() method to assign the task to a certain UserId.

The problem is that I'm not able to find the WorkflowTaskId to assign ....

Please, there is someone that can help me to find the WorkflowTaskId of the just started process?

Thank you in advance!

Ivano C.
Hai Vu Le Quoc, geändert vor 12 Jahren.

RE: How to get workflow instance Id

New Member Beitrag: 1 Beitrittsdatum: 06.04.11 Neueste Beiträge
Hi Ivano,
Have you had the answer yet?
I also have this problem too.

Thank you in advance!
Hai
thumbnail
Mahendra Mahakle, geändert vor 12 Jahren.

RE: How to get workflow instance Id

Junior Member Beiträge: 80 Beitrittsdatum: 14.03.11 Neueste Beiträge
HI.
Use following service to get workflowInstanceId
WorkflowInstanceLink workflowInstanceLink= WorkflowInstanceLinkLocalServiceUtil.getWorkflowInstanceLink(companyId, groupId,AssetClassName, AssetEntryClassPk);
long workflowInstanceId= workflowInstanceLink.getWorkflowInstanceId();

This May help you.
Regards,
Mahendra
thumbnail
Ivano Carrara, geändert vor 12 Jahren.

RE: How to get workflow instance Id

Expert Beiträge: 345 Beitrittsdatum: 03.07.05 Neueste Beiträge
Hi Mahendra!

Thank you for your help...

Now I'll to assign the task I found to a User but I get an error, as you can see in this new post: new post

Please could you help me some more?

Thank you!
Ivano C.
thumbnail
Mahendra Mahakle, geändert vor 12 Jahren.

RE: How to get workflow instance Id

Junior Member Beiträge: 80 Beitrittsdatum: 14.03.11 Neueste Beiträge
HI ivano,
I think so you are forgetting to pass workflowContext object in that method and that one is important .
and also i would like to suggest you that use workflow definition to assign the task .

Regards,
Mahendra
thumbnail
Ivano Carrara, geändert vor 12 Jahren.

RE: How to get workflow instance Id

Expert Beiträge: 345 Beitrittsdatum: 03.07.05 Neueste Beiträge
Hi Mahendra ,

In the class EditWorkflowAction.java of Liferay, in the method assignTask they pass the null value as workflowContext parameter, the same I'm doing.

In fact in the workflowInstanceLink object there isn't the workflowContext field, so I can't get it...

And ... I don't understand what you are suggesting me... to use the workflow definition to assign the task ... Please could you help me to understand?

Thak you in advance!

Ivano C.
thumbnail
Mahendra Mahakle, geändert vor 12 Jahren.

RE: How to get workflow instance Id

Junior Member Beiträge: 80 Beitrittsdatum: 14.03.11 Neueste Beiträge
Hi Ivano,
I thought that you are applying workflow on custom assets thats way I suggest you use workflow defination to assign task from one user two other user.
i am using workflow defination to assing task,accepting the task,rejecting the task etc and its simple .xml file.
In that you have to generate one .xml (Workflow defination) file and have to apply on your assets.in this xml you can define task as per the roles then liferay will manage to assign it.
Regards,
Mahendra.
Kannan G krishnan, geändert vor 10 Jahren.

RE: How to get workflow instance Id

Regular Member Beiträge: 121 Beitrittsdatum: 30.04.13 Neueste Beiträge
Hi Mahendra Mahakle

I found this forum after a long search. I hope this can give actually what i want. I am using remote jbpm workflow in my custom portlet. used the drools guvnor for the workflow design. I can pass the form parameters to the workflow successfully by using the workflowContext object. Now coming to my problem. After the workflow started i can't find the instance id in the workflowwebinstance table all other details are there but this return parameters are empty there. so that i can't find any workflow task in the Task assigned to my roles section and i am getting an exception because of this,

10:55:46,099 ERROR [liferay/workflowWeb/scheduler/instanceParameters/listener-1][RestClient:227] handleResponse Error
com.liferay.portal.kernel.xml.DocumentException: null Nested exception: null
	at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:368)
	at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:347)
	at com.liferay.portal.kernel.xml.SAXReaderUtil.read(SAXReaderUtil.java:135)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener$XmlHandler.handle(WorkflowWebInstanceParametersMessageListener.java:185)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener$XmlHandler.handle(WorkflowWebInstanceParametersMessageListener.java:1)
	at it.tref.liferay.workflowweb.client.RestClient.handleResponse(RestClient.java:224)
	at it.tref.liferay.workflowweb.client.RestClient.requestService(RestClient.java:174)
	at it.tref.liferay.workflowweb.client.RestClient.requestGetService(RestClient.java:100)
	at it.tref.liferay.workflowweb.client.RestClient.requestGetService(RestClient.java:96)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener.process(WorkflowWebInstanceParametersMessageListener.java:112)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener.receive(WorkflowWebInstanceParametersMessageListener.java:80)
	at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:63)
	at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:114)
	at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:671)
	at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:582)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.dom4j.DocumentException: null Nested exception: null
	at org.dom4j.io.SAXReader.read(SAXReader.java:484)
	at org.dom4j.io.SAXReader.read(SAXReader.java:343)
	at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:365)
	... 15 more
10:55:46,100 ERROR [liferay/workflowWeb/scheduler/instanceParameters/listener-1][WorkflowWebInstanceParametersMessageListener:83] Error
java.lang.Exception: com.liferay.portal.kernel.xml.DocumentException: null Nested exception: null
	at it.tref.liferay.workflowweb.client.RestClient.handleResponse(RestClient.java:228)
	at it.tref.liferay.workflowweb.client.RestClient.requestService(RestClient.java:174)
	at it.tref.liferay.workflowweb.client.RestClient.requestGetService(RestClient.java:100)
	at it.tref.liferay.workflowweb.client.RestClient.requestGetService(RestClient.java:96)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener.process(WorkflowWebInstanceParametersMessageListener.java:112)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener.receive(WorkflowWebInstanceParametersMessageListener.java:80)
	at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:63)
	at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:114)
	at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:671)
	at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:582)
	at java.lang.Thread.run(Thread.java:619)
Caused by: com.liferay.portal.kernel.xml.DocumentException: null Nested exception: null
	at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:368)
	at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:347)
	at com.liferay.portal.kernel.xml.SAXReaderUtil.read(SAXReaderUtil.java:135)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener$XmlHandler.handle(WorkflowWebInstanceParametersMessageListener.java:185)
	at it.tref.liferay.workflowweb.messagelistener.WorkflowWebInstanceParametersMessageListener$XmlHandler.handle(WorkflowWebInstanceParametersMessageListener.java:1)
	at it.tref.liferay.workflowweb.client.RestClient.handleResponse(RestClient.java:224)
	... 10 more
Caused by: org.dom4j.DocumentException: null Nested exception: null
	at org.dom4j.io.SAXReader.read(SAXReader.java:484)
	at org.dom4j.io.SAXReader.read(SAXReader.java:343)
	at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:365)
	... 15 more


Please help me.

Thanks and regards
Kannan