1 课程简介

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

2 准备工作

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

2. 新建BizTalk空项目

3 演示

3.1 动态消息路由

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

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

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

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. 配置完成之后的流程图

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

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

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

4. 生成并部署项目。

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

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

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

3.3 Orchestration订阅

1. 构造流程图如下:

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

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

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

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

OutMsg = InMsg;

OutMsg.notes="Direct Route From MessageBox";

OutMsg(MessageRoute.EndPointName)="Out3";

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

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

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

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

BizTalk动手实验(八)消息路由的更多相关文章

  1. BizTalk动手实验(十七)ODBC适配器使用

    更多内容请查看:BizTalk动手实验系列目录                       BizTalk 开发系列 1 课程简介 通过本课程熟悉ODBC适配器的的使用,本练习采用BizTalk 20 ...

  2. BizTalk动手实验(十五)AS2消息安全传输

    1 课程简介 本课程将配置AS2相关的安全传输配置,学员可以通过本课程熟悉相关的安全配置. 2 准备工作 为了模拟实际的B2B交互过程,本实验需要2台BizTalk Server 2010虚拟机(两两 ...

  3. BizTalk动手实验(十四)AS2传输非EDI消息

    1 课程简介 本课程通过AS2协议完成XML文件的传输过程,传输之后同步接收MDN确认信息.通过本课程熟悉AS2传输解决方案的基本开发与配置方法. 2 准备工作 为了模拟实际的B2B交互过程,本实验需 ...

  4. BizTalk动手实验(十六)EDI-AS2解决文案开发配置

    1 课程简介 通过本课程熟悉EDI.AS2解决文案的开发与配置,本动手实验步骤及内容采用微软官方SDK完成,学员在实验过程中结合官方教程来完成本实验 本实验基于BizTalk 2013(Windows ...

  5. BizTalk动手实验(十三)EDI解决方案开发配置

    1 课程简介 通过本课程熟悉EDI解决文案的开发与配置,本动手实验步骤及内容采用微软官方SDK完成,学员在实验过程中结合官方教程来完成本实验 2 准备工作 从BizTalk安装目录的SDK中将EDI ...

  6. BizTalk动手实验(十二)WCF-Oracle适配器使用

    1 课程简介 通过本课程熟悉WCF-Oracle适配器的的使用 2 准备工作 1. 新建BizTalk空项目 2. 配置BizTalk项目的应用程序名称及程序签名. 3. Oracle数据库 ( Or ...

  7. BizTalk动手实验(十一)自定义开发管道组件

    1 课程简介 通过本课程熟悉自定义开始管道组件的流程.各组件接口的功能作用以及自定义管道. 本场景为开发一个消息ZIP压缩的发送管道组件. 2 准备工作 1. 熟悉管道组件各阶段组成 2. 下载Ion ...

  8. BizTalk动手实验(十)业务活动监控(BAM)演示

    1 课程简介 通过本课程熟悉业务活动监控(BAM)的使用及各组件的配置. (本环境为Windows 2008 32位操作系统环境 + Visual Studio 2010 + BizTalk 210) ...

  9. BizTalk动手实验(九)业务规则引擎使用

    1 课程简介 通过本课程熟悉业务规则引擎(BRE)的使用(本环境为Windows 2008 32位操作系统环境 + Visual Studio 2010 + BizTalk 210) 2 准备工作 1 ...

随机推荐

  1. Codeforces Round #375 (Div. 2) - B

    题目链接:http://codeforces.com/contest/723/problem/B 题意:给定一个字符串.只包含_,大小写字母,左右括号(保证不会出现括号里面套括号的情况),_分隔开单词 ...

  2. 数据库查询Database中的表

    public class UserDA { SqlConnection conn; SqlCommand cmd; public UserDA(Use uuu) { conn =new SqlConn ...

  3. HIT2543 Stone IV(一定费用内的最大流)

    题目大概说,有n个从0到n-1的城市,要从城市0运送石头到城市1,运送石头的单价是p.城市间的有m条双向路相连,路都有能运送石头的限额c1,如果超过限额运送石头的单价就要提高c2.问在总花费c以内能运 ...

  4. SOAPUI测试步骤之断言测试(Assertion TestStep)

    什么是没有办法验证结果的测试?soapUI提供了两种方法来测试断言:断言TestSteps现在断言一步步测试(PRO版本).The Assertion TestStep,扩展了断言处理和管理的想法.此 ...

  5. "Accepted today?"[HDU1177]

    "Accepted today?" Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  6. BZOJ3189 : [Coci2011]Slika

    通过离线将操作建树,即可得到最终存在的操作. 然后逆着操作的顺序,倒着进行染色,对于每行维护一个并查集即可. 时间复杂度$O(n(n+m))$. #include<cstdio> cons ...

  7. javac命令出现“**.java使用了未经检查或不安全的操作”

    Collection col=new ArrayList();引发了“**.java使用了未经检查或不安全的操作”错误, 这是因为JDK1.5中引进了泛型,但是你的ArrayList却没有采用,所有会 ...

  8. ACM: HDU 1869 六度分离-Dijkstra算法

    HDU 1869六度分离 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descri ...

  9. 5分钟windows wamp php安装phpunit 2015最新安装实践

    16:11 2015/11/235分钟windows wamp php安装phpunit 2015最新安装实践我花了一个下午和一个上午的时间注意:步骤中添加环境变量多的时候要保存很多步,知道窗口都自动 ...

  10. Codeforces Round #207 (Div. 1) A. Knight Tournament(STL)

    脑子又卡了...来一发set的,STL真心不熟. #include <stdio.h> #include <string.h> #include <iostream> ...