• Biztalk 实例之 平面文件架构


             无意中发觉一篇好文章,脑子中的困惑豁然而解。
            尽管XML文件正变得越来越流行,但许多计算机系统仍然在使用平面文件来存储数据。所谓的平面文件是与XML数据文件相对的一个概念。XML数据文件是一个树形结构,而许多文件例如DBF数据库文件等并不是树形结构,这类文件我们称之为平面文件。

            有些平面文件没有明显的结构,或者我们并不关心它的结构;而有些需要Biztalk处理的平面文件,我们需要清楚它们的结构。Biztalk Server针对平面文件提供了平面文件架构,用于描述平面文件的结构。在技术平面文件的结构时,有些数据是以位置来划分的,有些数据则是以分隔字符来划分的。例如下面用来存储用户ID、用户名和密码的平面文件:

            S01       test      12345623
            S02       vvzz      778845
            S03       fengff    4432
            S04       liudan    772432

             在这个文件中,不同的记录之间是以回车换行来划分的,而各个字段则是由位置来确定的。用户ID和用户名都占十分字符,用户ID是从记录的第一个字符开始,用户名是从记录的第11个字符开始,密码是从记录的第21个字符开始。

            如果我们需要使用Biztalk来处理这个平面文件,我们要完成如下任务:

            1.创建一个Biztalk项目
            2.创建一个平面文件架构
            3.创建一个接收管道
            4.创建一个业务流程
            5.部署项目进行测试


            下面来看具体步骤:

            一、创建一个空的BizTalk项目

            1. 打开Visual Studio .Net 2003,创建一个新项目,选择项目类型为BizTalk项目,模板为空的BizTalk Server项目,输入名称为FlatFile。

            二、创建一个平面文件架构

            2. 为FlatFile项目添加新项,选择架构,输入名称为FlatFileSchema.xsd。

            3. 在架构树上选择<Schema>,在属性窗口中单击架构编辑器扩展后的“...”按钮,打开架构编辑器扩展,选中平面文件扩展;设置允许过早终止属性为是。

            4. 为Root重命名为Items,设置子分隔符类型为十六进制,设置子分隔符为 0x0D 0x0A,表示以回车换行分隔记录。

            5. 为Items添加一个子记录Item,设置结构为位置,Max Occurs为*,表示无限制,Min Occurs设置为0,表示最少为0。

            6. 为Item添加三个子字段元素,分别重命名为UserId、UserName和Password,设置它们的位置长度属性均为10。

            三、创建一个接收管道

            7. 为FlatFile项目添加一个新项,选择接收管道,设置名称为ReceiveFlatFilePipeline.btp。

            8. 从工具箱中将平面文件拆装器拖放到接收管道的拆装中,设置文档架构为FlatFile.FlatFileSchema。

           

            四、创建一个业务流程

            9. 为FlatFile项目添加一个新项,选择BizTalk 业务流程,设置名称为FlatFileOrchestration.odx。

            10.在业务流程视图中为业务流程创建一个FlatFileMessage消息,消息类型为FlatFile.FlatFileSchema。

            11.从BizTalk 业务流程工具箱中拖放接收操作放到业务流程中,在接收下方放入发送操作。设置它们的消息属性为FlatFileMessage,设置名称分别为ReceiveFlatFile和SendXMLFile。

            12.在端口图面中放入一个端口,根据端口配置向导设置名称为ReceivePort,端口类型名称为ReceivePortType,端口通信方向为始终在此端口上接收消息,端口指定为立即指定;设置传输为FILE,设置URI为C:\in\*.txt,设置接收管道为FlatFile.ReceiveFlatFilePipeline。 

           

            13.在端口图面中再放入一个端口,设置名称为SendPort,设置端口类型为SendPortType;设置端口通信方向为始终在此端口上发送消息,设置端口绑定为立即指定,设置传输为File,设置URI为c:\out\%MessageID%.xml,设置发送管道为Microsoft.BizTalk.DefaultPipelines.PassThruTransmit。

            14.将接收端口ReceivePort与ReceiveFlatFile操作连接起来,将SendPort与SendXMLFile连接起来。

           

            15.设置ReceiveFlatFile操作的激活属性为True。

            五、部署项目进行测试

            16.编译项目。

            17.选择生成\配置管理器菜单,选中部署复选框。

            18.选择项目\FlatFile属性菜单,为项目设置通用属性、程序集\程序集密钥文件。密钥文件的生成详见http://blog.csdn.net/fengfangfang/archive/2006/07/11/904725.aspx一文。

            19.选择生成\部署解决方案。

            20.在BizTalk浏览器中刷新BizTalk配置数据库,将会在业务流程下出现FlatFile.FlatFileOrchestration结点,启动该业务流程。

            21.将上面的记录保存为test.txt文件,放入c:\in文件夹下。Biztalk将会自动在c:\out文件夹中输出xml文件。


     



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=935500

  • 相关阅读:
    jq select 一些操作
    jq控制select值为某个时选中
    php loop循环 拿到键名
    php输出textarea数据(入库没有处理的)
    div下面多个a标签的点击事件,并且获取a的属性
    微信支付签名错误(第四点试过已得)
    微擎系统二维码关注回调(后台生成的二维码,可用于生成下线)
    微擎系统生成可以扫描关注的二维码,在后台二维码管理哪里有生成流程
    关于ContentProvider(二)
    关于ContentProvider(初识篇)
  • 原文地址:https://www.cnblogs.com/cxd4321/p/883446.html
Copyright © 2020-2023  润新知