向Wso2 API管理器添加自定义工作流扩展

时间:2015-07-08 07:31:40

标签: wso2 bpel

我最近开始使用WSO2 API管理器,并通过以下链接添加了用户注册工作流程:

https://docs.wso2.com/display/AM180/Adding+a+User+Signup+Workflow

这非常简单明了,但问题是,就我而言,我既是管理员,也是用户。因此,当我发送注册请求后,我手动登录到workflow-admin控制台并批准该请求,一旦我批准该请求,我就可以登录API Store。但在典型的生产环境中,管理员和用户必须获得某种电子邮件通知,以便他们可以批准/拒绝以及在批准请求后登录。我如何实现这样一种场景,即用户在获得批准后会收到电子邮件通知,并且管理员会在收到请求后收到通知?

我已经检查了在文档中添加工作流扩展模块:  https://docs.wso2.com/display/AM180/Adding+Workflow+Extensions

但我仍然想弄明白。 期待一些帮助。

2 个答案:

答案 0 :(得分:0)

据我所知,当前版本的Business Process Server不支持HumanTasks的电子邮件通知。但这将在下一版本的Business Process Server(v3.5)中提供。解决您可以做的事情是在ESB中创建服务以发送电子邮件并创建BPEL工作流(使用humanTasks),这将在ESB中触发此电子邮件服务。但是,如果您可以等到下一个版本(应该在8月底之前可用),那么新功能的Business Process Server就可以使用此功能。

答案 1 :(得分:0)

好的,我终于开始工作了。 在java中编写类似于 UserSignUpWSWorkflowExecutor .java的类,确保它扩展 org.wso2.carbon.apimgt.impl.workflow中的 UserSignUpWorkflowExecutor 包。现在,在您的类的完整方法中,检查注册状态并在此处编写用于发送邮件的逻辑。在此步骤之后,创建特定包/组件的jar并将其添加到wso2 API Manager的二进制文件中的patches目录中,同时确保jar的名称类似于plugins目录中的名称。在此步骤之后启动您的API管理器,在管理控制台中有一个workflow-extensions.xml文件。编辑该文件并添加您刚刚创建的jar名称及其包名称。保存并重新启动API Manager。 注意:首先通过此链接启用用户注册worflow执行程序 https://docs.wso2.com/display/AM180/Adding+a+User+Signup+Workflow