主页 > 云储存 > > 正文

分布式数据库_企业邮箱登陆首页_怎么买

浏览:

分布式数据库_企业邮箱登陆首页_怎么买

从8.0版开始,SAP Identity Management有一个新的重新设计的基于java的Lotus Notes连接器。它完全利用lotusdomino的服务器javaapi,通过使用CORBA远程调用方法,极大地简化了初始设置并降低了连续使用的成本。这样,就不再需要在身份管理系统上本地安装Lotus Notes客户端,也不需要依赖Visual Basic或C组件。

由于Domino API的resetUserPassword方法仅在服务器上受支持,不能远程调用,Identity Management的连接器必须为此任务调用专用的Domino代理。

在本文中,我将提供如何实现此类代理以及如何将其与SAP Identity Management一起使用的详细说明。

那么Lotus Domino代理到底是什么?正如我们在IBM文档中看到的:"代理是在一个或多个数据库中执行特定任务的独立程序。代理是最灵活的自动化类型。这些独立程序在Domino服务器上运行,可以根据事件直接调用,也可以定期运行。在我们的例子中,我们将直接从Identity Management Java connector调用代理的方法。

要实现Lotus Domino代理,我们需要IBM Lotus Domino Designer,可以从这里下载:

设计师启动运行后,我们可以从实现。

新代理被创建并自动打开。您可以看到在代理内容树中有一个源文件夹,其中包含默认包和生成的Java类。打开JavaAgent.java文件类。

您可以看到,在内部,我们有一个NotesMain()方法,它是代理的入口点。

现在我们有一个resetUserPassword方法的占位符,它是会话类的一部分。您可以在此处找到其文档:\u 8.5.3/com.ibm.designer.domino.main.doc/H\u RESETUSERPASSWORD\u METHOD\u SESSION\u JAVA.html?lang=en。从文档中,我们可以看到方法"…仅在服务器上受支持"和"此方法仅在代理中受支持"。它还包含三个字符串参数:servername、username和password。服务器名是"执行代理的一个或多个服务器的规范名称"。用户名是我们要为其更改密码的用户之一。密码是这个用户的新密码。

正如我们前面看到的,NotesMain()方法是代理的入口点,它没有任何参数。那么我们如何从Identity Management发送服务器名、用户名和密码呢?lotusnotes连接器使用dominoapi代理类的runOnServer()方法来运行密码重置代理。这个方法有两种风格:第一种没有任何参数,只调用代理的代码(NotesMain())。第二个有一个字符串参数,它是Notes文档的note id。

Notes文档或note是lotusnotes体系结构的核心部分。它是一种对象数据存储,"是一种混合数据类型的复合结构,排列在可以任意修改和扩展的字段中。注释可以包含文本、富文本、二进制blob(例如附件、ActiveX或Java小程序)、加密密钥、doclinks等等。每个Notes数据库包含一个Notes集合,并包含用于显示、安全、检索和访问Notes权限的元组织结构。"

在本例中,我们在代理数据库中创建一个note文档,并使用该文档将参数传递给密码重置方法。因此,在调用代理代码之前,Identity Management连接器将创建一个新的注释,并将三个键值对放入其中:server、username和password以及它们各自的值。创建文档后,连接器将获取其Note Id(或唯一标识符)并将其传递给runOnServer()方法。

在代理端,我们必须打开该文档并从中提取参数。这是通过以下方式完成的:

首先我们需要使用以下代码获取当前代理的实例:

您可以看到,我们使用的agentContext已经在生成的代理代码中可用。下一步我们需要获取包含参数的文档的note id:

一旦我们有了文档id,我们需要查找代理的数据库并从中使用其id提取文档:

现在我们有了包含三个参数的文档,但是如何获取它们的值呢?为此,我们将使用Document类的getItemValue()方法。它有一个参数–项的名称,或者在本例中是参数,并返回一个java.util.Vector文件价值观。为了得到这三个参数的值,我们可以使用以下语句:

现在我们已经具备了调用实际重置用户密码的方法所需的一切:

resetUserPassword方法以及Notes API中的大多数方法都可以抛出NotesException,这一点很重要。这是一个选中的异常,必须用try-catch块包围它的调用。另外,云服务器购买,NotesException类不是标准的异常,淘客公众号,这一点也很奇怪——如果您尝试使用getMessage()方法获取异常的消息,或者使用getStackTrace()获取堆栈跟踪,则很可能会得到一些无用的东西。相反,什么是物联网应用技术,NotesException类有三个公共字段:id、text和internal。前两个是错误的代码和文本描述,第三个是异常的堆栈跟踪。因此,企业信息化应用,如果要将有用的错误消息打印到日志中,请使用id和文本字段。

要实际获取日志对象,以便在文本文件中记录代理的操作,例如,可以使用以下代码段:

然后可以使用logAction()方法记录事件:

将值返回到Identity Management connector,我们将使用传递输入参数的相同Notes文档。我们将使用Document类的replaceItemValue()方法添加包含结果的新键值对:

调用save()方法来实际提交更改是很重要的。

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 对象存储_网站集约化建设_哪家好
    对象存储_网站集约化建设_哪家好

    对象存储_网站集约化建设_哪家好

    当戴夫·麦克卢尔首次提出海盗指标的概念时,它震撼了创业界的核心。尽管你现在可能知道他是500家初创企业的幕后推手,但在贝宝(PayPal)上市前担任...

  • 数据库_数据库事务原理_安全稳定
    <strong>数据库_数据库事务原理_安全稳定</strong>

    数据库_数据库事务原理_安全稳定

    为CloudFlare客户提供对源站的免费和高性能加密2014年秋季,CloudFlare推出了Universal SSL,并将通过HTTPS访问的网站数量增加了一倍。在短短几天内,我们颁发了...

  • 百度云_企业邮箱怎么设置签名_排行榜
    百度云_企业邮箱怎么设置签名_排行榜

    百度云_企业邮箱怎么设置签名_排行榜

    在快节奏的销售世界里,时间是无价的。这正是为什么你需要停止切换标签,使用新的Pipedrive Chrome扩展直接从Gmail使用Pipedrive的强大功能。如果你是一个狂...

  • 游戏服务器_节点服务器_优惠
    <strong>游戏服务器_节点服务器_优惠</strong>

    游戏服务器_节点服务器_优惠

    nomad0.11为任务引入了生命周期部分,可以用来表示任务依赖关系。这可以用来表示任务组中任务之间的任务依赖关系,甚至可以利用consur来表示任务间的任...

  • 企业邮箱_华为云techwave_企业级
    <strong>企业邮箱_华为云techwave_企业级</strong>

    企业邮箱_华为云techwave_企业级

    遵守一套不断发展的数据隐私法规的需求可能看起来很繁重,或者会导致公司停滞不前,不知道下一步该采取什么措施。如果不了解这些法规对日常运营的...

云储存

更多 >
  • 域名交易_oracle数据库课程_精选特惠
    域名交易_oracle数据库课程_精选特惠

    如果您计划将SAP系统导出到7.40版本或使用软件更新管理器(SUM)执行维护操作到7.40目标版本,我们最近发现了一个可能会影响您的问题。这个问题会影响...

  • 谷歌云_数据库数据导入_怎么买
    谷歌云_数据库数据导入_怎么买

    设计工作室用户: 我知道我们都不喜欢做调查,并且认为有足够的人来做。但在这种情况下,我注意到,为了在SAP BusinessObjects Design Studio上获得突破,我们...

云储存香港服务器_中超数据库_便宜的
云储存金山云_神盾局特工第二季百度云_优惠券
云储存MySQL数据库_一个好网站建设_高性价比
云储存京东云_优衣库百度云链接地址_限量秒杀
云储存网站空间_北京建设厅网站_好用