我对BizTalk相当陌生,有以下问题:
我是检索文本文件与BizTalk从一个FTP服务器。文本文件有一个位置结构,大约300个字符长。我使用平面文件向导创建了XML模式,以解析工作正常的数据。
以下是我的问题:作为一个要求,我需要提取位置2-6,这是一个唯一的ID。提取值后,我需要连接到一个Oracle DB,并搜索将返回用户名的ID。
你知道我该怎么做吗?
发布于 2013-08-20 11:34:03
实现这一目标的最佳方法取决于在查询Oracle Db之后您希望如何处理用户名/消息有效负载。答案还假设您有一个正确工作的平面文件模式,它的唯一Id将从平面文件中提取到模式/结果消息中的自己的元素中,让我们调用这个字段'UniqueId‘。我还假设每个平面文件只有一条消息(如果不是这样的话)。
在您的平面文件模式中,将UniqueId元素标记为一个区分字段。将使对该值的访问在业务流程中更容易。创建接收端口和位置,配置为使用平面文件架构的平面文件反汇编程序。
接下来,创建一个使用接收端口到板上消息的业务流程。在业务流程中,为您的OracleDb创建一个新的选择消息。对于WHERE子句,使用来自传入消息的区分字段中的值--您可以在这里使用虚线符号,例如FlatFileMsg.UniqueId。最后一步需要在OracleDb选择消息的构造消息形状中的消息分配形状内完成。
如果您不想使用区分的字段路由,可以简单地映射到您的业务流程中的Oracle SELECT消息。这两种路由都是可以接受的,但我尽量不对简单消息调用映射器。
通过请求/响应端口向Oracle Db发送Oracle Db选择消息,您应该得到返回的用户Id。使用UserId执行您需要完成的任何操作。
https://stackoverflow.com/questions/18312117
复制相似问题