BTARN 接收訊息流以3A7為例

2021-09-07 21:41:19 字數 2937 閱讀 6752

rnmimedecoder( mime 預處理器/解碼器): 對rnif2.0e服務內容及附件(如有)進行解密。對於rnif1.1,對負載末尾的八字節和分離的簽名頭進行處理。

rndasm(拆裝器,基於xmldesimber): (1)如果某個傳入文件含有 doctype 頭,則本元件根據該頭生成乙個命名空間,然後將該傳入文件中的所有節點移入該命名空間。(2)執行訊息相關以確定傳入訊息是否重複;(3)如果訊息重複,則生成錯誤訊息。將附件作為訊息的附加部分進行儲存。(4)公升級訊息屬性。

rnpartyres(參與方解析): (1)如果某個 biztalk 參與方簽署了傳入訊息,則對映發件人證書;如果傳入訊息未簽名,並且該訊息是**合作夥伴協議允許的,則本元件在 rnif 2.01 的傳遞頭或 rnif 1.1 的服務頭中檢索發件方。(2)請確認發件人存在,並且發件人與本組織有**合作夥伴協議。

messageupdater:(1)使用以下各項的詳細資訊更新 messagestoragein 表:pip **、pip 版本、源參與方、目標參與方和線路訊息(由 receivemessagenonrepudiate 元件儲存)的訊息跟蹤 id。 (2)如果 pip 不要求不可否認性,則將相應記錄標記為刪除,設定 tobepurged = true。

響應方公用流程從響應方 messagebox 資料庫接收 rnif 訊息。

如果活動為非同步單操作,則公用流程通過將服務內容訊息部分與前導頭、服務頭和傳遞頭(僅限於 rnif 2.01)進行包裝來構造 rnif 訊號訊息(確認接受)。該公用流程使用參與方之間的**合作夥伴協議中儲存的資訊來構造前導頭、服務頭和傳遞頭,這些資訊包括:流程配置設定、源參與方和目標參與方的配置資訊以及合作夥伴介面流程 (pip) 變數。然後流程將訊號訊息傳送到發起方。如果訊息為單操作訊息,則訊息流完成。

如果是雙向流程,公用流程進入等待狀態(等待響應方專用流程的操作)。

以下操作可結束此等待狀態:(1)響應方專用流程返回響應服務內容訊息和頭,以響應原始操作訊息(它是雙操作訊息)。(2)公用流程從發起方接收失敗通知 (nof) 訊息。

響應方公用流程進入等待狀態(等待接收來自發起方的訊號,以對響應方公用流程發出的響應訊息做出響應)

響應方專用流程從響應方公用流程接收路由自發起方計算機的原始傳入訊息。

專用流程構造 lob 應用程式訊息。這涉及到獲得 lob 訊息模板、序列化 xml 服務內容以及將 xml 訊息部分載入到 lob 訊息。

專用流程將訊息路由到 btarndata sql server 資料庫的 messagestolob 表中,再路由到後端 lob 應用程式。

如果原始訊息帶有附件,則專用流程呼叫 attachmenthelper 元件來處理附件。

專用流程向 lob 應用程式傳送通知,通知此應用程式它將響應訊息儲存到了 messagestolob 表中。

如果訊息為單操作訊息,則專用流程完成。

如果訊息為雙操作流程,則專用流程會偵聽來自 lob 應用程式的響應。

當專用流程接收到來自 lob 應用程式的響應時,它會構造響應訊息,並將此訊息傳送到公用流程。

專用流程等待來自公用流程的訊號。如果接收到訊號,它會構造 lob 訊號訊息並將其傳送到 lob 應用程式。如果 rnif 版本為 1.1,專用流程將偵聽第二個確認訊號,一旦接收到此確認訊號,專用流程將構造 lob 訊號訊息並將其傳送到 lob 應用程式。在傳送每個訊號訊息之後,專用流程會通知 lob 應用程式。

如果專用流程從公用流程接收到路由自發起方的「失敗通知」(nof) 訊息,則專用流程會構造「btarnexception」訊息並將其傳送到 lob 應用程式。 ## 7、btarn 將訊息路由至 messagebox 資料庫。 ## 8、傳送管道對訊息進行組裝,然後簽名/加密/編碼,傳送管道將傳送的訊息儲存在messagestorageout表中。

如果**合作夥伴協議中的「將所有部分編碼」設定為 true,則 mime/smime 編碼器將對所有訊息部分進行編碼。所用的編碼方法是在該協議的 encoding 屬性中設定的。

對於 rnif 2.01,如果訊息是操作訊息並帶有附件,則編碼器將對每個附件執行以下操作:(1)如果附件是二進位制的,則編碼器將對其進行編碼。(2)編碼器將生成該附件的內容 id。(3)編碼器將建立該附件的 mime 部分。

對於 rnif 2.01,該管道將根據「是否要求永久保密」設定(按照流程配置設定中的設定)對訊息部分進行加密並生成 rnif 訊息:(1)如果將「是否要求永久保密」設定為「負載」,則編碼器將對服務內容和附件進行加密。然後,組裝器新增服務頭、傳遞頭和前導頭以構造最終的 rnif 訊息。(2)如果將「是否要求永久保密」設定為「負載容器」,則編碼器將對服務頭、服務內容和附件進行加密。然後,組裝器新增傳遞頭和前導頭以構造最終的 rnif 訊息。(3)如果將「是否要求永久保密」設定為「無」,則組裝器將服務頭、傳遞頭和前導頭新增到服務內容和附件中(不加密),以構造最終的 rnif 訊息。

對於 rnif 1.1,組裝器將構造不加密的最終 rnif 訊息。

編碼器在以下情況對訊息進行簽名(如有) ## 9、通過傳送aspx頁傳送訊息出去

傳送頁對訊息進行驗證。

傳送頁根據訊息的內容型別、長度、id 和多用途 internet 郵件擴充套件 (mime) 版本建立 mime 頭。該頁將 mime 頭和 mime 上下邊界新增到訊息中。

傳送頁使用 http post 按照**合作夥伴協議中操作 url 或訊號 url 設定設定的位置將訊息傳送到合作夥伴的目標 url。

然後傳送頁等待 http 響應。接收到響應後,它將該響應路由到 http 介面卡。

如果連線是非同步的,傳送頁將關閉連線,處理過程完成。

如果連線是同步的,傳送頁將保持連線的開通以接收返回的訊息。傳送頁在收到訊息以後執行的處理與 rnifreceive.aspx 對所收到訊息的處理相同,然後,傳送頁將收到的訊息傳送到 http 介面卡,最後關閉連線。

biztalk accelerator for rosettanet 如何工作

接收資料訊息

為了監聽資料訊息,註冊乙個 broadcast receiver 來過濾傳送的 intent 中所包含的動作字串。gtalk 資料訊息和一般的廣播 intent 處理一樣,所以,當它們被 broadcast receiver 接收時,它們沒有任何關聯的傳送者資訊。如果你需要這些元資料,你必須在源 i...

socket接收訊息

標頭檔案在主頁 編譯方式 gcc server.c o server執行方式 server 埠號程式主體 int main int argc,char ar server 埠 建立udp套接字 fd socket af inet,sock dgram,0 準備跟af inet 即ipv4網路層協議 ...

接收kafka訊息

kafka server 127.0.0.1 8081,127.0.0.1 8082,127.0.0.1 8083,127.0.0.1 8084 topics eseal hr test 2 gourp id hthr value string servers value string groupi...