本文通過乙個簡單例項,介紹biztalk應用中呼叫程式集的方法。
雖然biztalk server提供了眾多的內建功能,然而在一些情況下可能還需要呼叫程式集中的函式。因為在.net程式集中,可以非常方便地呼叫web service、訪問資料庫;另一方面,有些函式是程式集中已經寫好的,為了增加軟體的復用,便於軟體版本的管理,使用現有的程式集也在情理之中。
本文通過乙個簡單例項,介紹biztalk應用中呼叫程式集的方法。這個例項完成的功能,可以
實現,只不過實現的方式用所差別,乙個是呼叫web service,乙個是呼叫.net程式集。
首先,我們建立乙個myfunction的專案,其中只包括乙個的類檔案class1,我們要在biztalk中呼叫該類的checkuserid靜態方法。class1的源程式如下:
using
system;
namespace
myfunction
public
static
string checkuserid(string struserid)
else}}
}為程式集設定強名稱和發布.net程式集到全域性程式集快取可參見
將程式集安裝到全域性程式集快取(gac)中一文。
然後,建立乙個biztalk server工程callfunction,新增乙個userinfo.xsd,其結點結構如下:
userinfo
userid
rolename
快速公升級userid和rolename兩個子欄位元素,具體步驟可參見
呼叫web services一文。
下面建立乙個業務流程mainorch.odx,在業務流程檢視中建立兩個訊息inmsg和outmsg,這兩個訊息均使用callfunction.userinfo訊息型別。在業務流程中建立乙個接收操作receiveinmsg、乙個傳送操作sendoutmsg,在二者之間建立乙個訊息賦值操作assignoutmsg,同時會產生乙個構造訊息操作,命名為constructoutmsg,構造的訊息為outmsg。設定receiveinmsg啟用為true。
為工程callfunction新增.net引用,找到myfunction.dll,新增到引用中。編寫assignoutmsg的表示式如下:
outmsg = inmsg;
outmsg(callfunction.propertyschema.rolename)= myfunction.usermanager.checkuserid(inmsg(callfunction.propertyschema.userid));
建立乙個接收埠inport用於連線接收操作、乙個發端埠outport用於連線傳送操作。兩個埠均使用microsoft.biztalk.defaultpipelines.xmltransmit管道,接收位址為c:\in\*.xml,傳送位址為c:\out\%sourcefilename%。
編譯並佈署biztalk server工程callfunction,啟動callfunction.mainorch業務流程,進行測試:
測試檔案fengfangfang.xml
fengfangfang
輸出為fengfangfang
administrator
測試檔案fengff.xml
fengff
輸出為fengff
user
在Biztalk應用中呼叫程式集的方法
本文通過乙個簡單例項,介紹biztalk應用中呼叫程式集的方法。雖然biztalk server提供了眾多的內建功能,然而在一些情況下可能還需要呼叫程式集中的函式。因為在.net程式集中,可以非常方便地呼叫web service 訪問資料庫 另一方面,有些函式是程式集中已經寫好的,為了增加軟體的復用...
在程式中呼叫Start Run
public declare function shrundialog lib shell32 alias 61 byval howner as long,byval unknown1 as long,byval unknown2 as long,byval sztitle as string,by...
在程式中呼叫Winrar
winrar e e rarfile.rar e extract rar file winrar a e mydir e add rar file system.disnogic.process 可以用來啟動乙個新的程序,而且在啟動新程序的時候可以代引數.for exp order a newnam...