Problems with routing Time and Money document

2 views
Skip to first unread message

Grover Tharp

unread,
Sep 24, 2020, 10:04:57 PM9/24/20
to kc.techni...@kuali.org, rice....@kuali.org

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)

Ronald Gouldner

unread,
Sep 24, 2020, 10:48:57 PM9/24/20
to Grover Tharp, kc.techni...@kuali.org, rice....@kuali.org
Is the person who is submitting the document the same as the person who created it?

We had this issue with Negotiation Documents because one user was creating it in our process and later a different person submitted it to routing.  We fixed this with a simple modification to the ingested xml.   If nothing else this may point you in the correct direction knowing what part of the ingested XML controls this.

We made the following change to fix this issue.

Ron

<!--
   - Kuali Coeus, a comprehensive research administration system for higher education.
   -
   - Copyright 2005-2016 Kuali, Inc.
   -
.
.
.
 -->
<data xmlns="ns:workflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ns:workflow resource:WorkflowData">
        <documentTypes xmlns="ns:workflow/DocumentType" xsi:schemaLocation="ns:workflow/DocumentType resource:DocumentType">
                <documentType>
                        <name>NegotiationDocument</name>
                        <description>Create a Negotiation</description>
                        <label>Negotiation Document</label>
                        <parent>KC</parent>
                        <docHandler>${kuali.docHandler.url.prefix}/negotiationNegotiation.do?methodToCall=docHandler</docHandler>
                        <helpDefinitionURL>default.htm?turl=Documents/negotiation.htm</helpDefinitionURL>
                        <!-- KC-881 Incident report appears when saving negotiations document -->
           
             <policies>
                                <policy>
                                        <name>INITIATOR_MUST_ROUTE</name>
                                        <value>false</value>
                                </policy>
                       </policies>
                       <!-- KC-881 END -->

                </documentType>
        </documentTypes>
</data>



--
To unsubscribe from this group and stop receiving emails from it, send an email to kc.technical.co...@kuali.org.

Grover Tharp

unread,
Sep 24, 2020, 10:52:42 PM9/24/20
to Ronald Gouldner, kc.techni...@kuali.org, rice....@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

Reply all
Reply to author
Forward
0 new messages