biztalk隨機文件中tutorial3注意事項

2021-09-08 06:10:34 字數 4941 閱讀 4976

學習

biztalk

的最好文件就是

biztalk

的隨機文件,文件中包括一套循序漸進的教程(

tutorial

)還有許多就某一單項技術的

sample

(samples in the sdk

)。這些教程和例子描述的步驟十分的詳細,詳細到你什麼都不用想照它的步驟一步步的做都可以了。

教程步驟太詳細,而且往往只告訴你怎麼做,很少告訴你為什麼這麼做,有朋友經常跟著教程一路做下去,最後作完了,測試

ok通過,回過頭來想想自己都做了什麼,一片茫然,不知怎麼做的結果就出來了。如果做的順利(每個步驟沒有遺漏,沒有做錯),就會出正確的結果,一旦中間哪個步驟遺漏了或**錯了一點,導致沒出正確的結果,就不知道怎麼找錯在哪了。

所以跟著教程做時一定要注意幾點: l

每一步都仔細的做,不要有遺漏步驟,不要敲錯字元。 l

l要學會使用

biztalk

管理器檢視服務例項,訊息,特別是掛起的服務例項(可以在流程偵錯程式中單步除錯

orchestration

),如果出現結果不是預期的,在這裡查詢錯誤原因。

最近在做

biztalk2006

隨機文件中的

tutorial

例子,tutorial1

和tutorial2

已經做完,問題不大,按照說明一步步的做就是了。 在做

tutorial3

時碰到了一些問題,在此把我做的過程中碰到的問題和解決的方法記錄下來,供還沒做過的朋友參考。

tutorial3

這個示例延續

tutorial2

示例,在

tutorial2

基礎上繼續往下做。所以必須在完成

tutorial2

後才能開始

tutorial3。

tutorial3

涉及的主要技術有:相關集、

orchestration

傳送埠消費

web services

、orchestration

接收埠發布為

web services。

1.

lesson 3step 1中「配置傳送po到供貨商web services的埠」

這一步的最後,

tutorial

漏了乙個操作:在「繫結埠」視窗,在「埠繫結」下拉列表中選擇「現在指定」,系統會自動生成乙個指向供貨商

web services

的物理傳送埠,並把這個邏輯埠跟這個物理埠繫結。如果這個操作沒做,在以後的步驟配置應用程式的這個邏輯埠對應的物理埠時會找不到

sendcommonpo_sendport

埠。當然,也可以在配置應用程式時新建乙個物理埠指向供貨商

web services。

當在biztalk

專案中引用乙個外部

web services

,即orchestration

使用消費(

consume

)web services

時,biztalk

給這個web services

生成相應的訊息型別,為多部分訊息型別。每個

web services

方法涉及的輸入輸出引數都被生成相應的訊息型別。 當在

biztalk

專案中引用乙個外部

web services

時,biztalk

同時給這個

web services

生成相應的

web埠型別,跟

web services

方法對應,每個

.asmx

檔案生成乙個埠型別,每個方法生成乙個埠中的操作,方法的輸入引數和返回引數分別生成操作訊息,這些操作訊息就是上面生成的那些多部分訊息型別。 配置

orchestration

中跟web sevices

相連的邏輯埠的埠型別為上面引用

web services

系統生成的

web

埠型別。

同時還要注意,傳送到連線

web sevices

的邏輯埠的訊息例項的型別要是

web message type

,即是從

web services

引用過來的訊息型別,這樣才能跟傳送埠的埠型別匹配。在配置訊息例項時,在訊息型別下拉列表中「

web message type

」下選「

select from referenced assembly

」,然後在彈出的視窗中選擇相應的

web message

型別。

2.

發布web services嚮導生成了web services,但是例項中並沒有使用用嚮導生成的web services

示例中有兩個

orchestration

的接收埠需要發布為

web services

,receiveasn_port

和receiveinvoice_port

,文件中也在步驟四用

web services

發布嚮導生成了對應這兩個埠的

web services

,但是在實際中並沒有使用嚮導生成的

web services

,而是使用了預先準備好的預先生成好的

web services

,這個web services

放在路徑「

c:\tutorial\solutions\b2bsolution\b2borchestrations_webservice

」中,並在

tutorial 2

中「步驟

4: 設定供貨商的

web service

中」配置到

iis的

虛擬目錄下。而用

web services

發布嚮導生成了

web services

的url

是http://localhost/b2borchestrations_proxy

所以文件中在

web services

的最後一步,沒有設定給應用程式生成相應的接收位置,而是在

biztalk

管理器中手工新建接收位置以對應到

就因為使用了在別的機器上預先生成的

web services

,所以才有了「第二步:更新

token

」。因為是在別的機器用嚮導做的

web services

,在生成

web services

時要引用包含

orchestration

的assembly

,assembly

有自己的

token

,所以它需要把每個試驗者給

assembly

生成的token

替換它預先生成的

web services

中使用的

token

。如果使用自己用嚮導生成的

web services

,引用的

assembly

就是要使用的那個

assembly

,就沒必要更新

token

,這一步是不必要的一步。這一點文件上沒有說明這一點,很容易產生誤導。

3.

嚮導生成的web services很大機會不能正常工作

biztalk

的web services

發布嚮導生成的

web services

很大的機會是不能正常工作的,反正我每次用嚮導做出來的

web services

工作都是不正常,也有好些朋友反應同樣的問題。

具體現象是生成的

web services

不會有返回結果,在事件檢視器中往往有這樣的錯誤:試圖連線到伺服器「

******

」上的「

biztalkmgmtdb

」sql server

資料庫失敗。錯誤:

「無法開啟登入所請求的資料庫

"biztalkmgmtdb"

。登入失敗。」

關於這個問題,請參看我的一篇專門討論這個問題的文章:biztalk

發布web

服務時遭遇

'soapexceptioninternal soap processing failure'

錯誤

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

本文通過乙個簡單例項,介紹biztalk應用中呼叫程式集的方法。雖然biztalk server提供了眾多的內建功能,然而在一些情況下可能還需要呼叫程式集中的函式。因為在.net程式集中,可以非常方便地呼叫web service 訪問資料庫 另一方面,有些函式是程式集中已經寫好的,為了增加軟體的復用...

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

本文通過乙個簡單例項,介紹biztalk應用中呼叫程式集的方法。雖然biztalk server提供了眾多的內建功能,然而在一些情況下可能還需要呼叫程式集中的函式。因為在.net程式集中,可以非常方便地呼叫web service 訪問資料庫 另一方面,有些函式是程式集中已經寫好的,為了增加軟體的復用...

Lua文件翻譯(中)

lua文件翻譯 中 型別 lua是動態型別語言,不需要人為指明變數型別,指令碼直譯器會自動判斷變數型別。簡單的說,給變數賦什麼型別的值,變數就變成什麼型別。lua是動態型別語言,不需要人為指明變數型別,指令碼直譯器會自動判斷變數型別。簡單的說,給變數賦什麼型別的值,變數就變成什麼型別。lua是動態型...