WSO2 BPS 3.2人工任务分配给多人创建流程处于失败状态 [英] WSO2 BPS 3.2 human task assignment to multiple people creating Process in failed status

查看:45
本文介绍了WSO2 BPS 3.2人工任务分配给多人创建流程处于失败状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建 wso2 人工任务,其中必须由多个所有者以某种顺序给予批准.我正在从异步 BPEL 流程中调用人工任务.我能够成功上传流程和任务包.但是当我尝试创建流程实例时,我在日志中遇到以下错误:

I am trying to create wso2 human task where the approval has to be given by multiple owners in some sequence. I am calling human task from Asynchronous BPEL process. I am able to upload the Process and task packages successfully. But when I try to create the process instance, i am getting below error in the logs:

错误 {org.wso2.carbon.humantask.core.integration.AxisHumanTaskMessageReceiver} - 任务创建失败.java.lang.NullPointerException在 org.wso2.carbon.humantask.core.dao.jpa.openjpa.model.provider.OrganizationalEntityProviderFactory.getOrganizationalEntityProvider(OrganizationalEntityProviderFactory.java:26)在 org.wso2.carbon.humantask.core.dao.jpa.openjpa.JPATaskUtil.processGenericHumanRoles(JPATaskUtil.java:70)在 org.wso2.carbon.humantask.core.dao.jpa.openjpa.HumanTaskDAOConnectionImpl.createTask(HumanTaskDAOConnectionImpl.java:64)在 org.wso2.carbon.humantask.core.engine.HumanTaskEngine.createTask(HumanTaskEngine.java:81)在 org.wso2.carbon.humantask.core.engine.HumanTaskEngine.access$000(HumanTaskEngine.java:38)在 org.wso2.carbon.humantask.core.engine.HumanTaskEngine$1.call(HumanTaskEngine.java:100)在 org.wso2.carbon.humantask.core.engine.HumanTaskEngine$1.call(HumanTaskEngine.java:93)在 org.wso2.carbon.humantask.core.scheduler.SimpleScheduler.execTransaction(SimpleScheduler.java:880)在 org.wso2.carbon.humantask.core.scheduler.SimpleScheduler.execTransaction(SimpleScheduler.java:829)在 org.wso2.carbon.humantask.core.engine.HumanTaskEngine.invoke(HumanTaskEngine.java:93)在 org.wso2.carbon.humantask.core.integration.AxisHumanTaskMessageReceiver.invokeBusinessLogic(AxisHumanTaskMessageReceiver.java:81)在 org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)在 org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)在 org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)在 org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:755)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:848)在 org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)在 org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)在 org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:848)在 org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)在 org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)在 org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValve(TomcatValveContainer.java:49)在 org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)在 org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)在 org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)在 java.lang.Thread.run(未知来源)[2014-02-07 12:33:32,878] WARN {org.wso2.carbon.bpel.b4p.extension.PeopleActivity} - SOAP 错误:urn:approveurn:uuid:1153d791-6283-4621-8b37-0e3a5095169esoapenv:Server

ERROR {org.wso2.carbon.humantask.core.integration.AxisHumanTaskMessageReceiver} - Task creation failed. java.lang.NullPointerException at org.wso2.carbon.humantask.core.dao.jpa.openjpa.model.provider.OrganizationalEntityProviderFactory.getOrganizationalEntityProvider(OrganizationalEntityProviderFactory.java:26) at org.wso2.carbon.humantask.core.dao.jpa.openjpa.JPATaskUtil.processGenericHumanRoles(JPATaskUtil.java:70) at org.wso2.carbon.humantask.core.dao.jpa.openjpa.HumanTaskDAOConnectionImpl.createTask(HumanTaskDAOConnectionImpl.java:64) at org.wso2.carbon.humantask.core.engine.HumanTaskEngine.createTask(HumanTaskEngine.java:81) at org.wso2.carbon.humantask.core.engine.HumanTaskEngine.access$000(HumanTaskEngine.java:38) at org.wso2.carbon.humantask.core.engine.HumanTaskEngine$1.call(HumanTaskEngine.java:100) at org.wso2.carbon.humantask.core.engine.HumanTaskEngine$1.call(HumanTaskEngine.java:93) at org.wso2.carbon.humantask.core.scheduler.SimpleScheduler.execTransaction(SimpleScheduler.java:880) at org.wso2.carbon.humantask.core.scheduler.SimpleScheduler.execTransaction(SimpleScheduler.java:829) at org.wso2.carbon.humantask.core.engine.HumanTaskEngine.invoke(HumanTaskEngine.java:93) at org.wso2.carbon.humantask.core.integration.AxisHumanTaskMessageReceiver.invokeBusinessLogic(AxisHumanTaskMessageReceiver.java:81) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) at org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231) at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178) at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) [2014-02-07 12:33:32,878] WARN {org.wso2.carbon.bpel.b4p.extension.PeopleActivity} - SOAP Fault: urn:approveurn:uuid:1153d791-6283-4621-8b37-0e3a5095169esoapenv:Server

在Task中设置工作流的代码片段如下.

Code snippet for setting the workflow in Task is given below.

`<htd:peopleAssignments><htd:potentialOwners><htd:sequence type="all"><htd:来自logicalPeopleGroup="shippingLine"><htd:argument name="role">shippingLineRole</htd:参数></htd:来自><htd:来自logicalPeopleGroup="cho"><htd:argument name="role">角色</htd:参数></htd:来自></htd:序列></htd:potentialOwners>

`<htd:peopleAssignments> <htd:potentialOwners> <htd:sequence type="all"> <htd:from logicalPeopleGroup="shippingLine"> <htd:argument name="role"> shippingLineRole </htd:argument> </htd:from> <htd:from logicalPeopleGroup="cho"> <htd:argument name="role"> choRole </htd:argument> </htd:from> </htd:sequence> </htd:potentialOwners>

`

知道这里出了什么问题.当工作流只有一个所有者时,任务创建工作正常.

Any idea what is going wrong here. As the task creation is working fine when workflow has single owner.

推荐答案

您为多个用户分配的人员错误.从 BPS 3.1.0 WSO2 BPS 开始支持基于表达式和文字的用户分配.如果您需要多个用户分配,您需要使用基于表达式或基于文字的用户分配.有关正确语法,请参阅人工任务规范 [1].

Your people assignment is wrong for multiple users. From BPS 3.1.0 WSO2 BPS supports Expression and literal based user assignment. If you need multiple user assignments you need to use either expression based or literal based user assignment. See humantask spec [1] for correct syntax.

[1] http:///docs.oasis-open.org/bpel4people/ws-humantask-1.1-spec-cs-01.html#_Ref193111939

这篇关于WSO2 BPS 3.2人工任务分配给多人创建流程处于失败状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆