1 课程简介
通过本课程熟悉Orchestration的相关开发与测试技术
2 准备工作
- 熟悉XML、XML Schema、XSLT等相关XML开发技术
- 熟悉.NET相关开发技术
- 新建BizTalk空项目
3 演示
3.1 使用可分辨字段及分支流程
- 打开InputPO Schema,右键选择Promote
- 将total添加到可分辨字段中
- 新建Orchestration -> InMsg,消息类型指向InputPO
- 按如下图所示连接好流程结构,将流程的第一个Receive形状Active属性置为true
- 点击Rule_1,在条件表达式中添加条件判断表达式
InMsg.total >100
- 生成并部署程序
- 配置Orchestration,将逻辑端口部署到物理商端口,接收端口的Pipeline选择XMLReceive
- 启动应用程序,基于InputPO生成的XML消息,复制两个不同的消息,一个消息的total字段小于100,另一个大于100,查看消息是否输出到不同的目录。
3.2 异常补偿
- 修改原有Orchestration,将Scope形状添加到流程中,将Expession及已有的Decide形状拖入Scope,如下图所示
- 在Orchestration View中创建一个int类型的变量
- 将如下代码添加到Expression_1的表达或。
result = System.Convert.ToInt32(1/InMsg.total); System.Diagnostics.EventLog.WriteEntry("OrchestrationDevDemo","result: "+ result.ToString());
- 右击Scope_1选择新创异常处理
- 将Expession表达式拖入异常管理形状中
- 点击Scope_1的叹号处选择事务类型为Long Running
- 点击CatchException_1在属性窗口中,配置异常对像名称及类型(mscorlib->System->Exception)
- 将以下代码添加到Expession_2中
System.Diagnostics.EventLog.WriteEntry("OrchestrationDevDemo","Exception: "+exp.Message);
- 部署应用程序并重启BizTalk实例
- 使用模拟的数据进行测试。在系统日志中有相应的日志信息
3.3 调用(启动)子流程
- 创建一个子流程,只有一个发送形状和发送端口。
- 在子流程里,新添加一个Message类型的消息参数。
- 添加一个分支条件,使用Call或Start Orchestration形状。并配置相应的子流程及输入消息
- 先把BizTalk应用程序全部停止再部署应用(因为Orchestration有依赖关系)
- 测试新的条件是否被应用,及消息是否有输出