zoukankan      html  css  js  c++  java
  • BizTalk动手实验(八)消息路由

     更多内容请查看:BizTalk动手实验系列目录

                          BizTalk 开发系列

    1 课程简介

    通过本课程熟悉BizTalk消息由的机制

    2 准备工作

    1. 熟悉XML、XML Schema、XSLT等相关XML开发技术

    2. 新建BizTalk空项目

    3 演示

    3.1 动态消息路由

    1. 新建Schema,添加targetEndPoint及notes两字段并且升级为可分辨字段

    clip_image001

    2. 新建Orchestration,构建流程图如下图所示

    clip_image002

    3. 创建发送逻辑端口,在选择端口绑定类型时选择动态,Send Pipeine选择passthough管道

    clip_image003

    4. 新建InMsg和OutMsg消息,其类型都为刚创建的Schema

    5. 将以下代码添加到构造消息表达式中,并设置构造消息表达式的构造消息为OutMsg

    OutMsg = InMsg;

    OutMsg.notes = "Dynamic Route by Orchestration";

    Port_2(Microsoft.XLANGs.BaseTypes.Address)=OutMsg.targetEndPoint;

    6. 设置第一个接收形状的激活属性为true

    7. 配置完成之后的流程图

    clip_image005

    8. 生成并部署项目

    9. 配置MessageRoute应用程序,绑定物理接收端口到Orchestration,接收端口的pipeline选择XMLReceive

    10. 在MessageRoute项目文件夹中创建多个输出目录以进行测试,测试文件采用Schema生成的文件。消息内容如下所示:

    <ns0:Root xmlns:ns0="http://MessageRoute.Schema1">

    <notes>notes_0</notes>

    <targetEndPoint>file://D:\Samples\MessageRoute\Out1\File_%MessageID%.xml</targetEndPoint>

    </ns0:Root>

    11. 可以发现通过修改不同的输出目录,消息会自动发送到相应的目录。

    3.2 基于属性字段的路由

    1. 新添加属性Schema

    clip_image006

    2. 在属性字段中新增EndPointName的字段

    clip_image007

    3. 在原有消息Schema中添加一个endPointName的字段,并将其升级为属性字段(升级前需要先选择属性字段的Schema)

    clip_image009

    4. 生成并部署项目。

    5. 新建一个发送端口,选择文件适配器,在发送端口的订阅位置可以看到新创建的属性类型,设置判断条件为” MessageRoute.EndPointName == Out3”

    clip_image011

    6. 使用Schema生成的测试消息进行测试,并将endPointName字段的属性值设置为out3。

    7. 此时可以在适配器对应的目录里看到相应的输出消息。

    3.3 Orchestration订阅

    1. 构造流程图如下:

    clip_image012

    2. 创建接收和发送逻辑端口,注意端口类型都选择Direct

    clip_image013

    clip_image014

    3. 同样新建InMsg和OutMsg,两消息类型均为Schema_1。

    4. 绑定InMsg到Receive, OutMsg到Send,将构造模块的构造消息选择为Outmsg

    clip_image016

    5. 将以下代码添加到构造消息表达式中

    OutMsg = InMsg;

    OutMsg.notes="Direct Route From MessageBox";

    OutMsg(MessageRoute.EndPointName)="Out3";

    6. 右击Receive,点击编辑订阅表达式

    clip_image017

    7. 在表达式编辑窗口中配置如下条件(注意:在Orchestration中配置订阅条件如是是字符串的需要加双引号)

    clip_image018

    8. 生成、部署并配置Orchestration2,重启BizTalk实例

    clip_image020

    9. 使用3.2的测试数据,将endPointName字段改为Orch。当数据被BizTalk接收之后将会在Out3文件夹中出现相应的数据。如果文件夹中同时出现多个文件,是因为与3.1的Orchestration实例订阅条件相冲突。可以先将Orchestration1执行Unenlist操作。

  • 相关阅读:
    细心也是一种态度
    EDM数据访问的三种方式
    如何快速提交网站备案 ICP备案
    c# winform 关于给静态全局变量赋值的问题
    c#DIY随机数类winform 2010
    手把手教你如何用IIS搭建手机WAP网站(图文)
    admin密码对应的MD5值,16位和32位,admin解密自己留着方便.
    C#实现MD5加密,winform c#2005
    最全的c#日期函数 winform
    如何解决因网站备案号没下来而网站被迫关闭的办法
  • 原文地址:https://www.cnblogs.com/cbcye/p/2293092.html
Copyright © 2011-2022 走看看