0

我是 BizTalk 的新手,遇到以下问题:

我正在使用 BizTalk 从 FTP 服务器检索文本文件。文本文件具有位置结构,长度约为 300 个字符。我已经使用平面文件向导创建了 XML 模式来解析工作正常的数据。

这是我的问题:作为要求,我需要提取位置 2-6,这是一个唯一 ID。提取值后,我需要连接到 Oracle DB 并搜索将返回用户名的 ID。

你知道我该怎么做吗?

4

1 回答 1

1

实现此目的的最佳方法取决于您在查询 Oracle Db 后要对用户名/消息有效负载执行什么操作。答案还假设您有一个正常工作的平面文件架构,其中唯一 ID 从平面文件中提取到架构/结果消息中的自己的元素中,让我们将此字段称为“UniqueId”。我还假设每个平面文件只有一条消息(如果不是这种情况,事情会更复杂一些)。

在您的平面文件架构中,将 UniqueId 元素标记为可分辨字段。这将使编排中的值更容易访问。创建一个接收端口和位置,将平面文件反汇编程序配置为使用您的平面文件架构。

接下来创建一个使用您的接收端口来载入消息的编排。在编排中,为您的 OracleDb 创建一条新的 SELECT 消息。对于 WHERE 子句,使用传入消息的可区分字段中的值 - 您可以在此处使用点分表示法,例如 FlatFileMsg.UniqueId。最后一步需要在 OracleDb Select 消息的 Construct Message 形状内的 Message Assignment 形状内完成。

如果您不想采用显着字段路由,您可以简单地映射到您的业务流程中的 Oracle SELECT 消息。任何一条路线都是可以接受的,但我尽量不要为简单的消息调用映射器。

通过请求/响应端口将 Oracle Db SELECT 消息发送到您的 Oracle Db,您应该会返回一个用户 ID。使用 UserId 执行您需要完成的任何操作。

于 2013-08-20T11:34:03.390 回答