我正在与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
获取用户电子邮件的好方法是什么?这是一个错误?
如果有人可以帮助我在自定义工作流程中收到用户的电子邮件,那就非常好。
非常感谢
答案 0 :(得分:0)
该用户的所有详细信息将存储为用户配置文件(这是apimanger中使用的IS的一项功能)。因此,通过管理员服务电话,您可以获取特定用户的用户个人资料,然后您可以从中获取该用户的电子邮件地址。
这里[1]您可以找到一个示例用户配置文件管理服务客户端。
实际上他们所做的是,他们在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