BizTalk动手实验(五)Map开发测试

时间:2023-12-11 10:05:26

1 课程简介

通过本课程熟悉Map的相关开发与测试技术

2 准备工作

  1. 熟悉XML、XML Schema、XSLT等相关XML开发技术
  2. 新建BizTalk空项目
  3. 演示

3.1 基本操作

    1. 打开MapDev解决方案
    2. 在MapDev项目中新建Map映射
    3. 映射源和目标中分别选择MapDev.InputPO和MapDev.OutputPO

BizTalk动手实验(五)Map开发测试

4. 如下图所示将映射源与目标的映射关系连接好,Loop组件在工具栏的Advanced Functoids中。

BizTalk动手实验(五)Map开发测试

5. 右击映射文件,选择Test Map

BizTalk动手实验(五)Map开发测试

6. , 在Visual Studio的输出窗口有相应的输出信息,点击相应的输出文件可以看到映射过后的文件。

3.2 使用脚本模块

    1. 将Advanced Functoids的Scripting拖到映射区域,将源的date与目标的date连接到Scripts两侧

BizTalk动手实验(五)Map开发测试

    1. 双击Scripting模块,在脚本模块配置的脚本类型中选择Inline C#,将TestData文件夹下的FormatScript.txt中的C#脚本拷贝到内联脚本输入框中。

BizTalk动手实验(五)Map开发测试

    1. 在输入配置中,新增一个输入参数,参数值为 yyyy/MM/dd ,用于将输入消息的值日期值进行重新格式化。

BizTalk动手实验(五)Map开发测试

    1. 参照3.1.5的测试方法进行测试。在输出文件中可看到映射过后的文件其中date字段里的值已经按新的格式进行转换。

BizTalk动手实验(五)Map开发测试

3.3 测试Map XSLT

    1. 右击Map文件选择Debug Map
    2. Visual Studio将会启动XSLT调试模式,调试方法类似于.NET代码开发

BizTalk动手实验(五)Map开发测试

BizTalk动手实验(五)Map开发测试

3.4 使用外部方法

    1. 在MapDev解决方案目录下新建一个C#类库项目MapHelper
    2. 修改MapHelper属性,添加btsdev.snk签名,
    3. 将如下代码复制到Post-build 事件命令行中
      CALL "%VS100COMNTOOLS%vsvars32.bat"
      
          gacutil /uf $(TargetName)
      
          gacutil /if $(TargetName)
      

BizTalk动手实验(五)Map开发测试

    1. 将如下代码添加到类文件中

public class Common

    {

    public string Format(string paramDate, string paramExpress)

    {

    string responseDate = paramDate;

    try

    {

    DateTime strDate = Convert.ToDateTime(paramDate);

    responseDate = strDate.ToString(paramExpress);

    }

    catch { }

    return responseDate;

    }

    }
    1. 生成项目并在MapDev项目中引用该项目,点击Map中的Scripting,将脚本模块配置的内联脚本删除
    2. 选择脚本类型为为外部类库,并选择刚才创建的方法

BizTalk动手实验(五)Map开发测试

    1. 测试脚本以验证输出是否正确