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

WSO2 API Manager - subscriber email are not in AM database

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

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

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

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

TENANT_ID | EMAIL_ADDRESS | DATE_SUBSCRIBED<br> -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

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

如果有人能帮我在自定义工作流程中获取用户电子邮件,那就太好了。

非常感谢

该用户的所有详细信息将存储为用户配置文件(这是 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。因此,您可以为 service.It 编写自己的客户端,它是 apimager 中的管理服务。您可以按照此文档 [2] 找到该服务的 wsdl。 'https://:8280/services/UserProfileMgtService?wsdl' 使用该 wsld 创建存根并根据需要调用服务。您可以在 url l.username 中找到端点,密码将是 apimager 超级管理员的用户名和密码。 2. docs.wso2.com/display/AM160/WSO2+管理员+服务