chnking的专栏

心无旁骛,专注于biztalk......

用户操作
[即时聊天] [发私信] [加为好友]
金剑忠ID:chnking
32637次访问,排名3777,好友0人,关注者2人。
chnking的文章
原创 55 篇
翻译 1 篇
转载 0 篇
评论 109 篇
chnking的公告
版权说明: 可以自由的拷贝、转载、散发、使用本人的文章。但请注明出处和作者。
QQ:362682
MSN:chnking@hotmail.com
biztalk QQ群:7276643
最近评论
出会い関係者:出会いセックス素人
ko_rela:鍵屋なら、プレスリリースなら、ウォーターサーバー 比較なら、ウォーターサーバー ランキング……
alkjdi:レーシック
レーシック
レーシック
オナニー出会いエロ
人事課:エロSEX風俗
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 发布一个biztalk 解析Excel文件到xml消息的管道组件 收藏

    新一篇: biztalk中常用调试方法  | 旧一篇: 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据

    pipeline component主要功能是通过ODBCexcel驱动把excel文件转成xml的消息。

    excel文件可以是biztalk通过从各种适配器获得,比如从fileftpmsmqhttp等等适配器获得excel文件的数据,excel文件的数据通过适配器进入到接收管道后,此组件在接收管道中处理excel文件的数据并转换成xml格式。

    比如,可以从下面这样的excel文件:


     

    转换成这样的xml格式:

    <ns0:employees xmlns:ns0="http://chnking">

      <contact>

        <ContactID>1</ContactID>

        <FirstName>Gustavo</FirstName>

        <LastName>Achong</LastName>

        <EmailAddress>gustavo0@adventure-works.com</EmailAddress>

        <Phone>398-555-0132</Phone>

      </contact>

      <contact>

        <ContactID>2</ContactID>

        <FirstName>Catherine</FirstName>

        <LastName>Abel</LastName>

        <EmailAddress>catherine0@adventure-works.com</EmailAddress>

        <Phone>747-555-0171</Phone>

      </contact>

    </ns0:employees>

      

    安装

    ExcelPipelineComponentSetup.msi文件,直接安装。安装有两个条件:

    l         系统安装有framework2.0,如果没有,安装程序提示系统没有安装framework2.0,退出安装。

    l         系统安装有biztalk 2006,如果没有安装biztalk 2006,安装程序会提示,退出安装。

    安装好后,在程序中生成一个biztalk Excel decoder component程序组,其中有个chm帮助文件,使用方法请看帮助。

       
    安装文件下载:/Files/chnking/ExcelPipelineComponentSetup.rar

    存在问题

    在设计环境中设置此组件的各个属性,部署后使用正常。

    但是如果部署后,在biztalk administrator console中使用此组件的管道中修改了组件的任意属性,则会出现问题。

    问题表现为组件的预设属性在运行时可能会读不到,有些属性的值变为空,可能导致管道执行失败。再把属性值改回到默认值也已经不起作用。这时只能修改使用这个管道的接收位置的属性,把使用这个管道的接收位置的接收管道改为其它管道,然后关闭。之后再重新打开,把管道再改回到要使用的管道。这样可以恢复到组件预设的属性。

    暂时解决方案:

    在开发环境中把组件的属性设置好,然后部署,在biztalk administrator console中不要修改此组件的属性。
       如果确实需要修改组件属性,在开发环境中修改,然后重新部署。

    问题分析:

    通过源码单步调试组件,发现部署后没有在biztalk administrator console中修改此组件的任何属性的情况下,组件实现的IPersistPropertyBag接口的Load方法(从环境中读取组件预设属性的方法)只执行一次。如果biztalk administrator console中修改此组件的任何属性后,IPersistPropertyBag接口的Load方法就会被执行两次,第一次从环境读取的属性正确,第二次再执行读属性就会有问题,有的属性没有读到。

    奇怪的是,这时为什么Load方法会被执行两次。有朋友知道此问题的解决方法请告知,我的QQ362682

    发表于 @ 2007年09月29日 19:58:00|评论(loading...)|编辑

    新一篇: biztalk中常用调试方法  | 旧一篇: 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © chnking