0

我正在使用 IBM Security Directory Integrator,以前称为 IBM Tivoli Directory Integrator,在提要部分我有一个连接器连接到 MySQL 数据库并提供来自数据库的数据,我希望显示来自 MySQL 数据库的数据在使用 HTTP Server 连接器的网页上,但是 WORK 对象中的所有属性都不能用作 HTTP Server 连接器的输出。这个平台上没有太多文档,我想知道如何将数据从数据库连接器路由到 HTTP 服务器连接器,然后将数据显示在网页上。

WORK 对象中的所有属性都不适用于 DATA FLOW 部分中的脚本。

数据流 脚本

4

1 回答 1

1

您需要稍微更新您的问题以准确反映您想要做什么。你

  1. 希望 SQL DB 中的所有数据都显示在到达 HTTP 服务器连接器的每个请求上

  2. 根据到达 HTTP 服务器连接器的请求的某些输入参数显示来自数据库的特定条目?

提要和数据流部分的一些背景知识

在您的提要部分,您通常会有一个处于迭代器模式的连接器,该连接器将遍历来自源的许多数据条目。

在您的数据流部分,您将拥有许多对数据进行转换的连接器/函数/脚本

从提要部分的迭代器连接器返回的每个数据条目都将经历数据流部分中描述的转换。这可以通过将某些数据属性(DB 中的列、CSV 中的字段、ldap 中的属性、http 请求中的 http 参数)映射到工作条目中的属性来进行配置。

通常,您可以对转换后的数据做一些事情,例如将它们写入文件、数据库、ldap 服务器。再次,将写入的内容可在您使用的连接器的输出映射中配置,您可以在其中映射工作的属性您使用的连接器的输出属性条目。

现在,服务器模式下的 HTTP Server 连接器稍微复杂一些,因为它需要向 HTTP 客户端发送回响应,因此它包含输入映射和输出映射。发生的情况是请求被读取,数据流部分被执行,然后 HTTP 服务器连接器实例本身向 HTTP 客户端返回回复。这在此处详细描述http://www-01.ibm.com/support/knowledgecenter/?lang=en#!/SSCQGF_7.1.0/com.ibm.IBMDI.doc_7.1/referenceguide29.htm%23serverconnect2所以我将不再赘述。

您的具体情况

如果上面的假设 1 是正确的,那么 SDI 可能不是最好的工具。或者至少不是你打算使用它,无论如何。您可以拥有一条从数据库读取数据的装配线,然后在数据流中以 AddOnly 模式使用文件连接器(使用 XML 解析器),它将以指定形式将数据附加到文件中。然后您需要执行一次或定期执行此操作,并通过普通 HTTP 服务器提供静态 html/xml 文件。如果您绝对需要为此使用 SDI,请阅读下面的假设 2。

如果假设 2 是正确的,那么您的连接器位于错误的部分。HTTP 服务器连接器需要位于提要部分,因为该连接器将一直监听传入连接并返回一些响应。响应的确切性质/数据取决于您将包含在“数据流”部分中的连接器。如果您想根据请求的参数返回特定条目,那么您将拥有一个处于查找模式的 JDBC 连接器,并且将根据 HTTP 服务器中传入请求的参数构建链接条件。否则,您需要在查找模式下使用 JDBC 连接器和通用 SQL 查询(select * from ..)读取所有 DB 条目,然后使用 for-each 属性连接器遍历所有条目。无论您做什么/如何做,您最终都会得到一些您需要返回给客户的信息。为此,您将使用 HTTP 服务器连接器的输出映射并映射 http.body 和 http.status

在此处输入图像描述

于 2014-10-26T12:38:35.240 回答