8 Replies Latest reply on Feb 7, 2020 8:39 AM by Stefan Reinhardt

    Regarding HPM-44836 :  Rest API to assign task to user

    Kiran Ruhil Guru

      Hi All,

       

      I have created workflow task using Rest Task API and assignee is user. Task is visible under 'Not Accepted' bucket and it seems it has been fixed with HPM-44836. We are using 8.1 HF3 and I have used "accepted=true" parameter. Can anyone point what parameter has to be used for enabling this?

       

      https://kb.informatica.com/solution/23/Pages/70/575103.aspx

       

      Also, task is visible in web ui but on double clicking on task. It is throwing error "Report 'hlr.product2g.byItems' has no parameter with the identifier 'IsAccepted'". Attached is the error log.

       

      Below is rest call:

      {
      "task":{"name":"Update Product Details",
      "taskType":"WorkflowTask",
      "entity":"Product2G",
      "dynamic":"true",
      "accepted":"true",
      "user":"Kiran",
      "workflowServiceEndpoint":"UpdateProductDetails-Finish",
      "workflowCorrelationId":"762",
      "workflowStatus":"Update Product Details",
      "container":"1",
      "workflow":"6"
      },
      "content":{"identifier":"byItems",
      "parameterList":[{"key":"items","value":"2005444@1"}]
      }
      }

       

      Thank you in advance!!

      Regards,

      Kiran

       

       

      NFO   | jvm 1    | 2020/01/28 16:12:34 | 16:12:34,057 ERROR [http-358935] [PopupErrorHandler] Report 'hlr.product2g.byItems' has no parameter with the identifier 'IsAccepted'INFO   | jvm 1    | 2020/01/28 16:12:34 | java.lang.IllegalArgumentException: Report 'hlr.product2g.byItems' has no parameter with the identifier 'IsAccepted'INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.entity.core.report.EntityReportQueryBuilder.getParameterByIdentifier(EntityReportQueryBuilder.java:215)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.entity.core.report.EntityReportQueryBuilder.setParamValue(EntityReportQueryBuilder.java:168)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.core.context.ReportResultProviderExecutionContext.enhanceContextWithIsAccepted(ReportResultProviderExecutionContext.java:278)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.core.context.ReportResultProviderExecutionContext.updateReportResult(ReportResultProviderExecutionContext.java:254)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.core.context.ReportResultProviderExecutionContext.doUpdateSingleTask(ReportResultProviderExecutionContext.java:229)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.core.context.ReportResultProviderExecutionContext.updateSingleTask(ReportResultProviderExecutionContext.java:211)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.core.context.ReportResultProviderExecutionContext.update(ReportResultProviderExecutionContext.java:187)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.server.internal.communication.UpdateTaskContentHandler.updateTaskExecutionContext(UpdateTaskContentHandler.java:65)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.server.internal.communication.UpdateTaskContentHandler.lambda$0(UpdateTaskContentHandler.java:51)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.server.StateAgnosticEventHazelcastLock$StateAgnosticEventHazelcastLockWithContext.executeUsingLock(StateAgnosticEventHazelcastLock.java:135)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.server.StateAgnosticEventHazelcastLock$StateAgnosticEventHazelcastLockWithContext.execute(StateAgnosticEventHazelcastLock.java:110)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.server.internal.communication.UpdateTaskContentHandler.onMessage(UpdateTaskContentHandler.java:51)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.server.internal.communication.UpdateTaskContentHandler.onMessage(UpdateTaskContentHandler.java:1)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.core.internal.node.AbstractNode.processRequestMessageForOurself(AbstractNode.java:480)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.core.internal.node.AbstractNode.processLowLevelMessageForOurself(AbstractNode.java:337)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.core.internal.node.ServerNodeImpl.processLowLevelMessageForOurself(ServerNodeImpl.java:751)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.core.internal.node.ServerNodeImpl.processLowLevelMessage(ServerNodeImpl.java:684)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.core.internal.node.AbstractNode.sendRequest(AbstractNode.java:1678)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.communication.core.internal.node.AbstractNode.sendRequest(AbstractNode.java:1596)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.task.core.internal.TaskServiceImpl.updateTaskContent(TaskServiceImpl.java:518)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.common.services.tasks.TaskServiceImpl.refreshTaskWithoutResult(TaskServiceImpl.java:539)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.task.view.list.TaskListView$1.onDoubleClick(TaskListView.java:149)INFO   | jvm 1    | 2020/01/28 16:12:34 | at sun.reflect.GeneratedMethodAccessor1532.invoke(Unknown Source)INFO   | jvm 1    | 2020/01/28 16:12:34 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)INFO   | jvm 1    | 2020/01/28 16:12:34 | at java.lang.reflect.Method.invoke(Method.java:498)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.common.ui.table.TableViewer.fireDoubleClickEvent(TableViewer.java:490)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.common.ui.table.TableViewer$4.itemClick(TableViewer.java:429)INFO   | jvm 1    | 2020/01/28 16:12:34 | at sun.reflect.GeneratedMethodAccessor927.invoke(Unknown Source)INFO   | jvm 1    | 2020/01/28 16:12:34 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)INFO   | jvm 1    | 2020/01/28 16:12:34 | at java.lang.reflect.Method.invoke(Method.java:498)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.ui.Table.handleClickEvent(Table.java:3164)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.ui.Table.changeVariables(Table.java:2951)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.common.ui.table.HPMTable.changeVariables(HPMTable.java:101)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:616)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:463)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:406)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:380)INFO   | jvm 1    | 2020/01/28 16:12:34 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.supplier.integration.filter.SilentLoginFilter.doFilter(SilentLoginFilter.java:115)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.login.RedirectToLoginFilter.doFilter(RedirectToLoginFilter.java:72)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.app.UrlBasedLoginFilter.doFilter(UrlBasedLoginFilter.java:134)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.common.integration.AuthorizationFilter.doFilter(AuthorizationFilter.java:84)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.common.push.UiThreadExecutorFilter.doFilter(UiThreadExecutorFilter.java:51)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.saml.SamlResponseFilter.doFilter(SamlResponseFilter.java:191)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at com.heiler.ppm.web.saml.SamlRedirectFilter.doFilter(SamlRedirectFilter.java:105)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.Server.handle(Server.java:370)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)INFO   | jvm 1    | 2020/01/28 16:12:34 | at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)INFO   | jvm 1    | 2020/01/28 16:12:34 | at java.lang.Thread.run(Thread.java:748)

        • 1. Re: Regarding HPM-44836 :  Rest API to assign task to user
          Kiran Ruhil Guru

          This is TaskExecutionContext  from database. It may be helpful.

           

          <DomPersistable2 sys-id="1" factory-id="com.heiler.ppm.task.core.context.ReportResultProviderExecutionContextFactory"><task-executable-factory-id>com.heiler.ppm.task.ui.executable.TaskExecutableFactory</task-executable-factory-id><ReportResultProvider class="com.heiler.ppm.entity.core.report.compatibility.RRPByEntityReportQuery" sys-id="2" factory-id="hlr.compatibility.RRPByEntityReportQuery"><query sys-id="3" factory-id="hlr.EntityReportQuery" report-id="hlr.product2g.byItems"><param-value-providers sys-id="4" factory-id="hlr.HashMap" size="1"><entry><key sys-id="5" sys-type="sc" sys-class="sys.str"><![CDATA[items]]></key><value sys-id="6" factory-id="hlr.FixValueProvider"><fix-value sys-id="7" sys-type="sc" sys-class="sys.str"><![CDATA[2005461@1]]></fix-value></value></entry></param-value-providers></query></ReportResultProvider></DomPersistable2>

          • 2. Re: Regarding HPM-44836 :  Rest API to assign task to user
            Stefan Reinhardt Guru

            Hi Kiran,

             

            can you check whether the user that performs the REST call has the "Accept tasks of other users on their behalf" action right set?

             

            Stefan

            • 3. Re: Regarding HPM-44836 :  Rest API to assign task to user
              Kiran Ruhil Guru

              Hi Stefan,

               

              User has all the permissions, it is kind of super user. Issue persists for 'Administrator' as well.

               

              Thank you!!

              • 4. Re: Regarding HPM-44836 :  Rest API to assign task to user
                Stefan Reinhardt Guru

                Hi Kiran,

                 

                one step back. Did you create a workflow task without any BPM workflow instance behind and solely using the TASK API?

                 

                If you don't use BPM workflows it is recommended to work with classic tasks (static or dynamic content). Workflow tasks outside of a BPM context may not make sense in the first place.

                 

                Makes sense?

                 

                Regards,

                Stefan

                • 5. Re: Regarding HPM-44836 :  Rest API to assign task to user
                  Kiran Ruhil Guru

                  Hi Stefan,

                   

                  Yes I have workflow created using workflow API and then trying to create workflow task using rest API. These APIs are being called from ActiveVOS.

                   

                  we are in 8.1.1.03 and recently came to know that 'Workflow Task' is not supported by Task API in this product version. With this assumption, I am moving to standard task and accepted=true is working fine with standard tasks.

                   

                  Thanks,

                  Kiran

                  • 6. Re: Regarding HPM-44836 :  Rest API to assign task to user
                    Stefan Reinhardt Guru

                    Hi Kiran,

                     

                    this means you have a go forward plan for now?

                     

                    Did you already check the Business Process Management chapter in the knowledge base HTML library we ship as technical documentation with the software for additional details?

                    8.1.1.03 should definitely support workflow tasks hence I am asking if I overlook anything here.

                     

                    Thanks,

                      Stefan

                    • 7. Re: Regarding HPM-44836 :  Rest API to assign task to user
                      Kiran Ruhil Guru

                      Hi Stefan,

                       

                      Workflow tasks are not supported by Rest Task API in 8.1.1.03. My use case is to start a BPM workflow on change of certain field, task should be assigned to a user who has has made the change. I have created workflow and statuses using Workflow API and creating workflow task for a specific status using Task API.

                       

                      Since Workflow task was throwing error while accepting, I moved from Workflow task to standard task and using workflow callback feature for now. I would like to hear from you if you have suggestions.

                       

                      Screenshot from Service API documentation 8.1.1.03

                      Screenshot from Service API documentation 8.1.0.03

                       

                      Thanks,

                      Kiran

                      • 8. Re: Regarding HPM-44836 :  Rest API to assign task to user
                        Stefan Reinhardt Guru

                        Hi Kiran,

                         

                        okay I think I get it now. So what happened with 8.1.1 is that the WorkflowTask API calls have moved into the REST Workflow API. What has been done via HPM-44836 however, is only available for classic tasks and Task API.

                         

                        So what you originally have been trying to do is not possible. Using the Workflow API to auto accept for a different user. Your workaround may be suitable under these circumstances. Enhancing the workflow API to add an accept parameter to it (again and) properly (this time) is probably the request against the standard. Feel free to file a feature request with our Support team on that.

                         

                        Best,

                        Stefan

                        1 of 1 people found this helpful