更多内容请查看:BizTalk动手实验系列目录
1 课程简介
通过本课程熟悉Map的相关开发与测试技术
2 准备工作
- 熟悉XML、XML Schema、XSLT等相关XML开发技术
- 新建BizTalk空项目
- 演示
3.1 基本操作
- 打开MapDev解决方案
- 在MapDev项目中新建Map映射
- 映射源和目标中分别选择MapDev.InputPO和MapDev.OutputPO
4. 如下图所示将映射源与目标的映射关系连接好,Loop组件在工具栏的Advanced Functoids中。
5. 右击映射文件,选择Test Map
6. , 在Visual Studio的输出窗口有相应的输出信息,点击相应的输出文件可以看到映射过后的文件。
3.2 使用脚本模块
- 将Advanced Functoids的Scripting拖到映射区域,将源的date与目标的date连接到Scripts两侧
- 双击Scripting模块,在脚本模块配置的脚本类型中选择Inline C#,将TestData文件夹下的FormatScript.txt中的C#脚本拷贝到内联脚本输入框中。
- 在输入配置中,新增一个输入参数,参数值为 yyyy/MM/dd ,用于将输入消息的值日期值进行重新格式化。
- 参照3.1.5的测试方法进行测试。在输出文件中可看到映射过后的文件其中date字段里的值已经按新的格式进行转换。
3.3 测试Map XSLT
- 右击Map文件选择Debug Map
- Visual Studio将会启动XSLT调试模式,调试方法类似于.NET代码开发
3.4 使用外部方法
- 在MapDev解决方案目录下新建一个C#类库项目MapHelper
- 修改MapHelper属性,添加btsdev.snk签名,
- 将如下代码复制到Post-build 事件命令行中
CALL " %VS100COMNTOOLS%vsvars32.bat "
gacutil /uf $(TargetName)
gacutil / if $(TargetName)
- 将如下代码添加到类文件中
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;
}
}
{
public string Format( string paramDate, string paramExpress)
{
string responseDate = paramDate;
try
{
DateTime strDate = Convert.ToDateTime(paramDate);
responseDate = strDate.ToString(paramExpress);
}
catch { }
return responseDate;
}
}
- 生成项目并在MapDev项目中引用该项目,点击Map中的Scripting,将脚本模块配置的内联脚本删除
- 选择脚本类型为为外部类库,并选择刚才创建的方法
- 测试脚本以验证输出是否正确