灵活使用Script Functoid 增强BizTalk Mapping功能
2013-01-28 21:47
253 查看
我们知道Biztalk为 定义Schema之间的映射提供了多种多样的Functoid,可以符合大部分映射的需求,尽管如此还是有些情况Biztalk自带的Functoid 不能完成所需要的映射,一个方法是通过扩展Functoid来实现,另外一个可以通过Script Function通过C#代码帮助实现一些简单的转换功能,下面通过一个简单的例子来说明,我们知道 Iteration 可以把记录的序号映射到目标Schema中:
上面的映射可以把InvoiceLine 的序号映射到目标Schema 的 InvoiceLine 的第7个字段(本例是使用的Flat File Schema,实际可以使用任意类型的Schema),映射之后 InvoiceLine 的 InvoiceLine_Child7 的值为 1,2,3,4但如果目标Schema对该字段具有格式要求,比如长度必须为4,从0001-9999,不足四位的以0补足。此时我们就可以借助Script Functoid 来实现。在Iteration和目标元素之间添加一个scripts Functoid (如上图)。双击Scripts 打开其属性窗口:
可以看到我们只使用了一个输入参数,为Iteration的输出。如果有多个输入,这里则显示多个输入。然后选择Scripts Functoid Configuration 来编写脚本
可以使用不同的脚本语言来编写脚本,这里我们使用C#来编写脚本,函数名称一般为MyConcat ,输入的参数个数由前面所说的输入参数个数决定,本例我们只需一个参数,因此可以使用C#编写如下脚本:
最后生成的文本文件(Flat File) 的序号格式为0001-9999.
上面的映射可以把InvoiceLine 的序号映射到目标Schema 的 InvoiceLine 的第7个字段(本例是使用的Flat File Schema,实际可以使用任意类型的Schema),映射之后 InvoiceLine 的 InvoiceLine_Child7 的值为 1,2,3,4但如果目标Schema对该字段具有格式要求,比如长度必须为4,从0001-9999,不足四位的以0补足。此时我们就可以借助Script Functoid 来实现。在Iteration和目标元素之间添加一个scripts Functoid (如上图)。双击Scripts 打开其属性窗口:
可以看到我们只使用了一个输入参数,为Iteration的输出。如果有多个输入,这里则显示多个输入。然后选择Scripts Functoid Configuration 来编写脚本
可以使用不同的脚本语言来编写脚本,这里我们使用C#来编写脚本,函数名称一般为MyConcat ,输入的参数个数由前面所说的输入参数个数决定,本例我们只需一个参数,因此可以使用C#编写如下脚本:
public string MyConcat(string param1) { return param1.PadLeft(4,'0'); }
最后生成的文本文件(Flat File) 的序号格式为0001-9999.
相关文章推荐
- 灵活使用Eclipse与Java远程调试功能
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterF
- 使用Etag增强iOS的URL缓存功能
- AXIS第三课:AXIS高级应用,使用Handler来增强Web服务的功能
- 灵活使用Eclipse与Java远程调试功能
- 在Struts中使用MappingDispatchAction 将一系列相关功能模块化
- VS使用验证控件出现“WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分
- 使用代理类增强业务类的功能示例
- Win8使用CHKen Tray Clock任务栏时间增强工具强化时间功能
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 使用JFreeChart增强Java绘图功能
- webservice使用handler来增强web服务的功能
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterF
- 使用高速缓存功能服务器增强Web站点的性能和可扩展性
- [转载]用Vi/Vim/gVim处理字符的大小写转换(暨命令gu gU的灵活使用)(自己补充VI替换的特殊功能)
- 【译】使用VS2010和MVC2.0增强验证功能
- 使用ScriptControl令程序增加脚本功能
- virtualbox虚拟机使用笔记-安装、增强功能、网络、usb设备、共享目录
- 使用VS2010代码分析功能增强ASP.NET应“.NET研究”用程序安全
- 使用Win8自带的增强控制功能让用户只能打开指定网站/应用/游戏