[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jboss-user
Subject:    [jboss-user] [jBPM] - Re: PermissionDeniedException on task Claim
From:       José_Luis_Granda <do-not-reply () jboss ! com>
Date:       2011-04-29 15:29:36
Message-ID: 2-592991-3-82770-1300099605685-2-602743-3-77589-1304090965945.jivesbs.jivemailuser () http://community ! jboss ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


José Luis Granda [http://community.jboss.org/people/jlgranda81] created the \
discussion

"Re: PermissionDeniedException on task Claim"

To view the discussion, visit: http://community.jboss.org/message/602743#602743

--------------------------------------------------------------
Sure, it is my claim method

public static void claimTask(TaskClient client, long taskId, String userId) throws \
InterruptedException {

               BlockingTaskOperationResponseHandler responseHandler = new \
BlockingTaskOperationResponseHandler();

               responseHandler.waitTillDone(5000);

               // Thread.sleep(10000);

               responseHandler = new BlockingTaskOperationResponseHandler();



               client.claim(taskId, userId, responseHandler);

               responseHandler.waitTillDone(5000);

       }

I have a procces with two human tasks, each one assing to Group \
ridrensur.financiero.secretaria (see bpmn fragment after). When I start process the \
first task is created with createby_id and actualowner_id to \
ridrensur.financiero.secretaria, it is a group in organizationalentity

 <potentialOwner>
               <resourceAssignmentExpression>
                   <formalExpression>ridrensur.financiero.secretaria</formalExpression>
  </resourceAssignmentExpression>
           </potentialOwner>

I have code for list Group Task

public static List<TaskSummary> getUnassignedTasks(TaskClient client, String idRef, 
                       List<String> roles, String participationType) {
               List<TaskSummary> result = new ArrayList<TaskSummary>();
               try {
                       BlockingTaskSummaryResponseHandler responseHandler = new \
BlockingTaskSummaryResponseHandler();  if (roles == null) {
                               client.getTasksAssignedAsPotentialOwner(idRef, \
"en-UK",  responseHandler);
                       } else {
                               client.getTasksAssignedAsPotentialOwner(idRef, roles, \
"en-UK",  responseHandler);
                       }
                       result = responseHandler.getResults();
               } catch (Throwable t) {
                       t.printStackTrace();
               }
               return result;
       }
It not works by ridrensur.financiero.secretaria is a Group, for run it I have to \
change createby_id to "Administrator" and actualowner_id to null in task, then \
getUnassignedTasks method works correctly. In the group list view I have claim for an \
user the first task from my user view button labeling as "claim", get current user \
from session. This button call for claimTask method. 

I trace claim method on org.jbpm.task.service.TaskClient ( \
https://github.com/krisv/jbpm/blob/master/jbpm-human-task/src/main/java/org/jbpm/task/service/TaskClient.java \
https://github.com/krisv/jbpm/blob/master/jbpm-human-task/src/main/java/org/jbpm/task/service/TaskClient.java) \
and org.jbpm.task.service.TaskServiceSession.java

I get trace exception

10:13:43,780 ERROR [STDERR] org.jbpm.task.service.PermissionDeniedException: User \
'[User:'joseluis']' does not have permissions to execution operation 'Claim' on task \
id 258 10:13:43,780 ERROR [STDERR]         at \
org.jbpm.task.service.TaskServiceSession.evalCommand(TaskServiceSession.java:206) \
10:13:43,780 ERROR [STDERR]         at \
org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:344) \
10:13:43,780 ERROR [STDERR]         at \
org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:84) \
10:13:43,780 ERROR [STDERR]         at \
org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41)
 10:13:43,780 ERROR [STDERR]         at \
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:752)


... 

Message receieved on client : OperationResponse
10:13:43,793 INFO   [STDOUT] [2011-04-29 10:13:43,792:debug] Arguments : \
[org.jbpm.task.service.PermissionDeniedException: User '[User:'joseluis']' does not \
have permissions to execution operation 'Claim' on task id 258] 10:13:43,793 ERROR \
[STDERR] org.jbpm.task.service.PermissionDeniedException: Server-side Exception: User \
'[User:'joseluis']' does not have permissions to execution operation 'Claim' on task \
id 258 10:13:43,794 ERROR [STDERR]         at \
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 10:13:43,794 \
ERROR [STDERR]         at \
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
 10:13:43,794 ERROR [STDERR]         at \
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 10:13:43,794 ERROR [STDERR]         at \
java.lang.reflect.Constructor.newInstance(Constructor.java:513) 10:13:43,794 ERROR \
[STDERR]         at org.jbpm.task.service.responsehandlers.AbstractBaseResponseHandler.createSideException(AbstractBaseResponseHandler.java:74)
 10:13:43,794 ERROR [STDERR]         at \
org.jbpm.task.service.responsehandlers.AbstractBlockingResponseHandler.waitTillDone(AbstractBlockingResponseHandler.java:48)
 10:13:43,794 ERROR [STDERR]         at \
org.loxageek.jbpm.server.TaskServerUtilities.claimTask(TaskServerUtilities.java:197) \
10:13:43,794 ERROR [STDERR]         at \
org.loxageek.ppless.client.action.TaskAction.claimTask(TaskAction.java:162)

*I trace isAllowed method in org.jbpm.task.service.TaskServiceSession.java. The \
question is: How I can register claim operation for user member of group or anyone? \
                and how will define group assingment in XML? Thanks.*
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/602743#602743]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]



[Attachment #5 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; \
margin: 0; padding: 20px;">

<div>
	<table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: \
1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;">  <tbody>
			<tr>

				<td>

					<table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" \
style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: \
6px; -webkit-border-radius: 6px;">  <tbody>
							<tr>
								<td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px \
solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; \
-moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; \
                -webkit-border-top-left-radius: 5px;">
									<h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; \
                margin: 0; display: block !important;">
									<!-- To have a header image/logo replace the name below with your img tag \
                -->
									<!-- Email clients will render the images when the message is read so any \
                image -->
									<!-- must be made available on a public server, so that all recipients can \
                load the image. -->
									<a href="http://community.jboss.org/index.jspa" style="text-decoration: \
none; color: #E1E1E1">JBoss Community</a></h1>  </td>

							</tr>
							<tr>
								<td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; \
color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; \
-moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; \
-webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: \
17px; font-weight: normal;">  Re: PermissionDeniedException on task Claim
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/jlgranda81">José Luis \
Granda</a> in <i>jBPM</i> - <a \
href="http://community.jboss.org/message/602743#602743">View the full discussion</a> \
</span> <hr style="margin: 20px 0; border: none; background-color: #dadada; height: \
1px;">

<div class="jive-rendered-content"><p>Sure, it is my claim method</p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>public static void \
claimTask(TaskClient client, long taskId, String userId) throws InterruptedException \
{</p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
BlockingTaskOperationResponseHandler responseHandler = new \
BlockingTaskOperationResponseHandler();</p><p style="min-height: 8pt; height: 8pt; \
padding: 0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
responseHandler.waitTillDone(5000);</p><p style="min-height: 8pt; height: 8pt; \
padding: 0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; // \
Thread.sleep(10000);</p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; responseHandler = new \
BlockingTaskOperationResponseHandler();</p><p style="min-height: 8pt; height: 8pt; \
padding: 0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p><p \
style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; client.claim(taskId, \
userId, responseHandler);</p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
responseHandler.waitTillDone(5000);</p><p style="min-height: 8pt; height: 8pt; \
padding: 0px;">&#160;</p><p>&#160;&#160;&#160; }</p><p style="min-height: 8pt; \
height: 8pt; padding: 0px;">&#160;</p><p>I have a procces with two human tasks, each \
one assing to Group ridrensur.financiero.secretaria (see bpmn fragment after). When I \
start process the first task is created with createby_id and actualowner_id to \
ridrensur.financiero.secretaria, it is a group in organizationalentity</p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p> \
&lt;potentialOwner&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
&lt;resourceAssignmentExpression&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
&lt;formalExpression&gt;ridrensur.financiero.secretaria&lt;/formalExpression&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
&lt;/resourceAssignmentExpression&gt;</p><p>&#160;&#160;&#160;&#160;&#160; \
&lt;/potentialOwner&gt;</p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p>I have code for list Group Task</p><p style="min-height: 8pt; \
height: 8pt; padding: 0px;">&#160;</p><p>public static List&lt;TaskSummary&gt; \
getUnassignedTasks(TaskClient client, String idRef, \
</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
List&lt;String&gt; roles, String participationType) \
{</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; List&lt;TaskSummary&gt; result = \
new ArrayList&lt;TaskSummary&gt;();</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
try {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
BlockingTaskSummaryResponseHandler responseHandler = new \
BlockingTaskSummaryResponseHandler();</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
if (roles == null) {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
client.getTasksAssignedAsPotentialOwner(idRef, \
"en-UK",</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
responseHandler);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
} else {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
client.getTasksAssignedAsPotentialOwner(idRef, roles, \
"en-UK",</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
responseHandler);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; result = \
responseHandler.getResults();</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; } \
catch (Throwable t) {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
t.printStackTrace();</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; \
}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; return \
result;</p><p>&#160;&#160;&#160; }</p><p>It not works by \
ridrensur.financiero.secretaria is a Group, for run it I have to change createby_id \
to "Administrator" and actualowner_id to null in task, then getUnassignedTasks method \
works correctly. In the group list view I have claim for an user the first task from \
my user view button labeling as "claim", get current user from session. This button \
call for claimTask method. </p><p style="min-height: 8pt; height: 8pt; padding: \
0px;">&#160;</p><p><span>I trace claim method on org.jbpm.task.service.TaskClient \
(</span><a class="jive-link-external-small" \
href="https://github.com/krisv/jbpm/blob/master/jbpm-human-task/src/main/java/org/jbpm/task/service/TaskClient.java" \
target="_blank">https://github.com/krisv/jbpm/blob/master/jbpm-human-task/src/main/java/org/jbpm/task/service/TaskClient.java</a><span>) \
and org.jbpm.task.service.TaskServiceSession.java</span></p><p style="min-height: \
8pt; height: 8pt; padding: 0px;">&#160;</p><p>I get trace exception</p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>10:13:43,780 ERROR \
[STDERR] org.jbpm.task.service.PermissionDeniedException: User '[User:'joseluis']' \
does not have permissions to execution operation 'Claim' on task id \
258</p><p>10:13:43,780 ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.jbpm.task.service.TaskServiceSession.evalCommand(TaskServiceSession.java:206)</p><p>10:13:43,780 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:344)</p><p>10:13:43,780 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:84)</p><p>10:13:43,780 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41)</p><p>10:13:43,780 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:752)</p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>... </p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Message receieved on \
client : OperationResponse</p><p>10:13:43,793 INFO&#160; [STDOUT] [2011-04-29 \
10:13:43,792:debug] Arguments : [org.jbpm.task.service.PermissionDeniedException: \
User '[User:'joseluis']' does not have permissions to execution operation 'Claim' on \
task id 258]</p><p>10:13:43,793 ERROR [STDERR] \
org.jbpm.task.service.PermissionDeniedException: Server-side Exception: User \
'[User:'joseluis']' does not have permissions to execution operation 'Claim' on task \
id 258</p><p>10:13:43,794 ERROR [STDERR]&#160;&#160;&#160;&#160; at \
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native \
Method)</p><p>10:13:43,794 ERROR [STDERR]&#160;&#160;&#160;&#160; at \
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)</p><p>10:13:43,794 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)</p><p>10:13:43,794 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
java.lang.reflect.Constructor.newInstance(Constructor.java:513)</p><p>10:13:43,794 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.jbpm.task.service.responsehandlers.AbstractBaseResponseHandler.createSideException(AbstractBaseResponseHandler.java:74)</p><p>10:13:43,794 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.jbpm.task.service.responsehandlers.AbstractBlockingResponseHandler.waitTillDone(AbstractBlockingResponseHandler.java:48)</p><p>10:13:43,794 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.loxageek.jbpm.server.TaskServerUtilities.claimTask(TaskServerUtilities.java:197)</p><p>10:13:43,794 \
ERROR [STDERR]&#160;&#160;&#160;&#160; at \
org.loxageek.ppless.client.action.TaskAction.claimTask(TaskAction.java:162)</p><p \
style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>I trace \
isAllowed method in org.jbpm.task.service.TaskServiceSession.java. The question is: \
How I can register claim operation for user member of group or anyone? and how will \
define group assingment in XML? Thanks.</strong></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a \
href="http://community.jboss.org/message/602743#602743">going to Community</a></p>  \
<p style="margin: 0;">Start a new discussion in jBPM at <a \
href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
 </div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>



_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic