WSO2 API Manager - 订阅者电子邮件不在AM数据库中

时间:2015-04-02 13:47:05

标签: wso2 wso2-am

我正在与WSO2合作,我正在自定义订阅工作流程,以便向订阅的用户发送电子邮件。

但要发送电子邮件,我应该收到订阅者的电子邮件。 当我调用该方法来获取此电子邮件(subs.getEmail())时,我什么都没有:

Subscriber subs = apiMgtDAO.getSubscriber(username); System.out.println(subs.getEmail());

所以,我在WSO2_AM数据库中,在AM_SUBSCRIBER表中观察,我发现了一个用于电子邮件退出的列,但它对我的所有用户都是空的。

TENANT_ID | EMAIL_ADDRESS | DATE_SUBSCRIBED
-1234 | | 2015-03-17 14:49:24.028 -1234 | | 2015-03-20 12:33:01.084 -1234 | | 2015-03-27 16:56:23.264 -1234 | | 2015-03-27 17:04:41.459 -1234 | | 2015-04-02 14:19:46.889

获取用户电子邮件的好方法是什么?这是一个错误?

如果有人可以帮助我在自定义工作流程中收到用户的电子邮件,那就非常好。

非常感谢

1 个答案:

答案 0 :(得分:0)

该用户的所有详细信息将存储为用户配置文件(这是apimanger中使用的IS的一项功能)。因此,通过管理员服务电话,您可以获取特定用户的用户个人资料,然后您可以从中获取该用户的电子邮件地址。

这里[1]您可以找到一个示例用户配置文件管理服务客户端。

1。https://svn.wso2.org/repos/wso2/carbon/platform/trunk/platform-integration/test-automation-framework/org.wso2.carbon.automation.api/src/main/java/org/wso2/carbon/automation/api/clients/identity/UserProfileMgtServiceClient.java

实际上他们所做的是,他们在UserProfileMgtService.java中使用了UserProfileMgtService。因此,您可以为该服务编写自己的客户端。它是apimager中的管理服务。您可以通过遵循此doc [2]找到该服务的wsdl。 'https://:8280 / services / UserProfileMgtService?wsdl'使用该wsld创建存根并根据需要调用服务。您可以在URL中找到端点l.username和密码将是apimager的超级管理员的用户名和密码。 2. docs.wso2.com/display/AM160/WSO2+Admin+Services