Greetings,
Not sure how active these forums are, but time’s a wastin’, so I’ll ask anyway.
We have recently enabled Time and Money documents on our KC monolith (running a customized version of 5.2.1) and we’re running into trouble when we try to submit them to workflow. When we try to submit, it goes off and thinks about it for a couple seconds, then fails with a stack trace indicating that the user does not have permission.
We have done virtually no customizing of the T&M, including out of the box routing. However, I have confirmed that our test users have the role Time and Money Modifier, which in our system includes the permission to route T&M documents.
I’ve tried with little success to debug into Rice code to figure out exactly what we are missing. Unfortunately, Rice has some exception handlers that obfuscate the original stack trace, so I can’t figure out exactly where the problem is; it just shows the exception handlers. Is there someplace where we can go, DB or workflow documents or wherever, that will tell us what permissions are needed to do this? I’ve included the stack trace down to our (meaning, KC’s) classes.
Thanks in advance,
Chuck
org.kuali.rice.kew.api.action.InvalidActionTakenException: User is not authorized to Route document
at org.kuali.rice.kew.impl.action.WorkflowDocumentActionsServiceImpl.translateException(WorkflowDocumentActionsServiceImpl.java:1345)
at org.kuali.rice.kew.impl.action.WorkflowDocumentActionsServiceImpl.executeActionInternal(WorkflowDocumentActionsServiceImpl.java:1364)
at org.kuali.rice.kew.impl.action.WorkflowDocumentActionsServiceImpl.route(WorkflowDocumentActionsServiceImpl.java:597)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy161.route(Unknown Source)
at org.kuali.rice.kew.impl.document.WorkflowDocumentImpl.route(WorkflowDocumentImpl.java:331)
at org.kuali.rice.krad.workflow.service.impl.WorkflowDocumentServiceImpl.route(WorkflowDocumentServiceImpl.java:241)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy86.route(Unknown Source)
at org.kuali.rice.krad.service.impl.DocumentServiceImpl.routeDocument(DocumentServiceImpl.java:194)
at org.kuali.rice.kns.web.struts.action.KualiDocumentActionBase.route(KualiDocumentActionBase.java:815)
at org.kuali.kra.web.struts.action.KraTransactionalDocumentActionBase.route(KraTransactionalDocumentActionBase.java:845)
at org.kuali.kra.timeandmoney.web.struts.action.TimeAndMoneyAction.route(TimeAndMoneyAction.java:614)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
--
To unsubscribe from this group and stop receiving emails from it, send an email to kc.technical.co...@kuali.org.
The answer is, yes and no. I’ve tried both. But as to the parameter, I found that earlier today and confirmed that it was set to false. At this point I am guessing that it is an issue that is not at all related to routing permissions, like maybe an audit rule failure or something that is getting swallowed and obfuscated by the exception handler.
Thanks, I’ll keep plugging.
Chuck