在Biztalk應用中呼叫程式集的方法

2021-09-05 05:23:18 字數 1654 閱讀 4567

本文通過乙個簡單例項,介紹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...