BizTalk正在向Web服务发送消息,但没有映射



我是BizTalk的新手。我得到了如下要求。

要求如下:-

  1. 资料来源:Oracle(表)。我在BizTalk中创建了一个生成的架构。

  2. 目标:接收"对象数组"(来自BizTalk的源记录表)作为输入的Web服务。

  3. 源系统和目标系统具有相同的结构。因此,不应实施映射。逻辑应该在管道或编排中。

需要以下两个主题的信息:

  1. 如何将逻辑合并到管道或编排中,以将数据从源模式映射到目标WS模式

此问题是在另一个大型BizTalk论坛上提出的(现已删除)。所以我将在这里分享我的答案。

你的要求根本不可能源和目标在逻辑上是否相同并不重要它们在BizTalk中由两种不同的模式表示。除了开发Web服务以直接接受WCF Oracle消息之外,没有任何方法可以绕过此问题。

因此,您必须从源转换到目标。地图就是这样做的。虽然从技术上讲还有其他方法,但它们更难编写,容易出现错误,并且可能提供不太理想的性能配置文件。

对地图的禁令只会适得其反,作为一名长期的BizTalk开发人员,我无法接受有这样要求的项目。

老实说,你的要求不太清楚。您的需求指出不需要映射,但随后您会询问如何将映射合并到管道或编排中。

实现这一目标的标准方法是:;

  1. 使用"Consume Adapter"从Oracle设置输入过程服务"。使用oracle绑定,为类型化轮询设置连接属性您的查询(有关MS SQL的示例,请参阅此处)更改为服务合同类型(用于入站操作),您将获得一组表示数据集的模式,以及类型的绑定接收端口轮询器。

  2. 使用"使用WCF服务"指向您的"发送"web服务和您将获得架构、绑定和有用的编排端口类型添加到您的项目

  3. 创建一个简单的映射,将您的入站oracle记录集架构映射到您的web服务模式-如果它们是一样的,尽管我怀疑你必须处理多组数据-取决于您的数据。

  4. 通过连接你的编排来完成。

我很感激这是一个关于你需要做什么的高级视图,但有很多例子可以通过谷歌来帮助你开始。希望能有所帮助。

最新更新