发布一个biztalk 解析Excel文件到xml消息的管道组件
<?xml:namespace prefix = o />
<?xml:namespace prefix = v />?
此pipeline component主要功能是通過ODBC的excel驅(qū)動(dòng)把excel文件轉(zhuǎn)成xml的消息。
excel文件可以是biztalk通過從各種適配器獲得,比如從file、ftp、msmq、http等等適配器獲得excel文件的數(shù)據(jù),excel文件的數(shù)據(jù)通過適配器進(jìn)入到接收管道后,此組件在接收管道中處理excel文件的數(shù)據(jù)并轉(zhuǎn)換成xml格式。?
????安裝文件下載:/Files/chnking/ExcelPipelineComponentSetup.rar
比如,可以從下面這樣的excel文件:
?
轉(zhuǎn)換成這樣的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文件,直接安裝。安裝有兩個(gè)條件:
l???????? 系統(tǒng)安裝有framework2.0,如果沒有,安裝程序提示系統(tǒng)沒有安裝framework2.0,退出安裝。
l???????? 系統(tǒng)安裝有biztalk 2006,如果沒有安裝biztalk 2006,安裝程序會(huì)提示,退出安裝。
安裝好后,在程序中生成一個(gè)biztalk Excel decoder component程序組,其中有個(gè)chm幫助文件,使用方法請(qǐng)看幫助。
????
使用時(shí)看起來像這樣:
?
?
存在問題
在設(shè)計(jì)環(huán)境中設(shè)置此組件的各個(gè)屬性,部署后使用正常。
但是如果部署后,在biztalk administrator console中使用此組件的管道中修改了組件的任意屬性,則會(huì)出現(xiàn)問題。
問題表現(xiàn)為組件的預(yù)設(shè)屬性在運(yùn)行時(shí)可能會(huì)讀不到,有些屬性的值變?yōu)榭?#xff0c;可能導(dǎo)致管道執(zhí)行失敗。再把屬性值改回到默認(rèn)值也已經(jīng)不起作用。這時(shí)只能修改使用這個(gè)管道的接收位置的屬性,把使用這個(gè)管道的接收位置的接收管道改為其它管道,然后關(guān)閉。之后再重新打開,把管道再改回到要使用的管道。這樣可以恢復(fù)到組件預(yù)設(shè)的屬性。
暫時(shí)解決方案:
在開發(fā)環(huán)境中把組件的屬性設(shè)置好,然后部署,在biztalk administrator console中不要修改此組件的屬性。
?? 如果確實(shí)需要修改組件屬性,在開發(fā)環(huán)境中修改,然后重新部署。
問題分析:
通過源碼單步調(diào)試組件,發(fā)現(xiàn)部署后沒有在biztalk administrator console中修改此組件的任何屬性的情況下,組件實(shí)現(xiàn)的IPersistPropertyBag接口的Load方法(從環(huán)境中讀取組件預(yù)設(shè)屬性的方法)只執(zhí)行一次。如果biztalk administrator console中修改此組件的任何屬性后,IPersistPropertyBag接口的Load方法就會(huì)被執(zhí)行兩次,第一次從環(huán)境讀取的屬性正確,第二次再執(zhí)行讀屬性就會(huì)有問題,有的屬性沒有讀到。
奇怪的是,這時(shí)為什么Load方法會(huì)被執(zhí)行兩次。有朋友知道此問題的解決方法請(qǐng)告知,我的QQ:362682
????問題最新進(jìn)展:
???
總結(jié)
以上是生活随笔為你收集整理的发布一个biztalk 解析Excel文件到xml消息的管道组件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中的oop思想,OOP思想指的是什
- 下一篇: 分享一个狂雨小说采集规则 - 顶点小说采