ASPX 傳送頁面與接收頁面
Microsoft BizTalk Accelerator for RosettaNet (BTARN) ASPX 頁面是 BTARN 與網際網路之間的直接介面。 ASPX 頁面有兩種,分別是接收頁面 (RNIFReceive.aspx) 和傳送頁面 (RNIFSend.aspx)。 每個 ASPX 頁面都是對應 BTARN 管線的延伸模組。 管線需要 ASPX 頁面才能處理 RosettaNet 實作架構 (RNIF) 標頭。 管線執行大多數的 HTTP 處理,然而,每個 ASPX 頁面執行 RNIF 標頭的 HTTP 處理。 頁面會增強 BizTalk Server HTTP 配接器中的功能。
每個 ASPX 頁面都是沒有使用者介面 ASP.NET Web 應用程式。 他們會使用 ASP.NET Web 安全性來確保與外部合作物件的安全連線。 您可以在所提供的階層中實作容錯、延展性以及高可用性的服務。
BTARN 安裝程式會在每個 BTARN 部署上安裝 RNIFSend.aspx 頁面和 RNIFReceive.aspx 頁面。 當啟動端或回應者與交易夥伴交換訊息時,BTARN 會使用 ASPX 頁面來傳送訊息,或接收來自合作夥伴 URL 的訊息。 如果啟動器和回應程式同時使用 BTARN,則啟動器上的兩個 ASPX 頁面會與回應程式上的兩個 ASPX 頁面交換訊息。 如需詳細資訊,請參閱下列的<啟動者端和回應者端 ASPX 頁面的互動方式>一節。
ASPX 傳送頁面
RNIFSend.aspx 頁面會接收來自 BizTalk HTTP 配接器的訊息, 建立 RNIF 標頭並新增至訊息中,然後透過網際網路傳送訊息給交易夥伴。 HTTP 配接器使用下列命令呼叫 RNIFSend.aspx:
http://localhost:<port number>/RNIFSend.aspx?<query string>
查詢字串包括了傳送頁面將訊息傳送給交易夥伴時所需的下列資料,以及交易夥伴處理訊息時所需具備的資料:
交易夥伴 URL: http://www.<address.com> /RNIFReceive.aspx
回應類型:同步或非同步
RNIF 版本:1.1 或 2.0。
BizTalk HTTP 配接器會將 BTARN 傳送管線所產生的 MIME 訊息傳送至啟動器 RNIFSend.aspx 頁面。 RNIFSend.aspx 會依照下列方式處理訊息:
傳送頁面執行訊息的驗證。
傳送頁面根據內容類型、長度、識別碼以及 MIME 版本,建立多用途網際網路郵件延伸標準 (MIME) 標頭。 它會將 MIME 標頭及 MIME 上下界限新增至訊息中。
對於 RNIF 2.01,傳送頁面會依照下列方式設定 HTTP 標頭的屬性:
將 X-RN-Version 屬性設為在程序組態設定的 Version 屬性中輸入的版本。
將 X-RN-ResponseType 屬性設為 sync (同步) 或 async (非同步),視程序組態設定中 IsSynchronous 屬性的設定而定。
將 Content-Length 屬性設為完整訊息的大小。
傳送頁面根據交易夥伴協議中的「動作 URL」或「信號 URL」設定,使用 HTTP Post 傳送訊息到交易夥伴的目的地 URL。
傳送頁面等候 HTTP 回應。 一旦收到回應,便將回應傳送至 HTTP 配接器。
如果連線是非同步,傳送頁面會關閉連線,並且它的處理隨即完成。
如果連線是同步,傳送頁面會保持連線開啟以取得回傳訊息。 在收到訊息之後,傳送頁面會如同 RNIFReceive.aspx 頁面處理所接收訊息的方式處理訊息,並傳送接收的訊息至 HTTP 配接器,然後關閉連線。
ASPX 接收頁面
RNIFReceive.aspx 頁面透過網際網路接收來自交易夥伴的 HTTP 訊息。 它會處理、驗證然後移除 RNIF 標頭,再將訊息提交至 HTTP 配接器。 接收頁面所接收的訊息必須符合 RNIF HTTP 傳輸格式。 接收頁面會依照下列方式處理訊息:
回應者的 RNIFReceive.aspx 頁面接收來自啟動者的訊息。 訊息包含 MIME 標頭以及上下界限。
接收頁面驗證 MIME 標頭。
接收頁面從訊息中移除 MIME 標頭及界限。
接收頁面使用 HTTP 接收位置張貼訊息至 HTTP 配接器。 接收頁面接收 HTTP 回應,然後回傳 HTTP 回應至啟動者的傳送頁面。
如果連線是非同步的,接收頁面會關閉連線。
如果連線是同步的,接收頁面會保持連線開啟,等待回傳的訊息。
在收到 HTTP 配接器回傳的訊息之後,接收頁面處理訊息的方式將如同 RNIFSend.aspx 頁面,並傳送回傳的訊息至啟動者的傳送頁面。 一旦收到 HTTP 回應之後,隨即關閉連線。
啟動者端和回應者端 ASPX 頁面的互動方式
如果啟動器和回應程式同時使用 BTARN,則起始端和回應端上的四個 ASPX 頁面會根據連線是非同步或同步的,以及訊息是否為單一動作或雙動作,以不同的方式互動。 下列各節詳細描述完整的互動方式。
雙向動作非同步
此實例牽涉四個不同的 HTTP 連線,每個步驟說明一個連線:
啟動者傳送頁面傳送動作要求訊息給回應者接收頁面。
注意
下列的步驟 2 和 3 可能需要以相反的順序執行,視系統的負載程度而定。
回應者傳送頁面傳送要求信號訊息給啟動者接收頁面。
回應者傳送頁面傳送動作回應訊息給啟動者接收頁面。
啟動者傳送頁面傳送回應信號訊息給回應者接收頁面。
單向動作非同步
此實例牽涉兩個不同的 HTTP 連線,每個步驟說明一個連線。 請注意,此實例是由雙向動作非同步實例的步驟 1 和 2 組成。
啟動者傳送頁面傳送動作要求訊息給回應者接收頁面。
回應者傳送頁面傳送要求信號訊息給啟動者接收頁面。
雙向動作同步
此實例牽涉一個 HTTP 連線:
啟動者傳送頁面傳送動作要求訊息給回應者接收頁面。
回應者接收頁面透過步驟 1 所使用的相同連線傳送動作回應訊息 (如果有問題的話,會傳送例外狀況) 至啟動者傳送頁面。
單向動作同步
此實例牽涉一個 HTTP 連線:
啟動者傳送頁面傳送動作要求訊息給回應者接收頁面。
回應者接收頁面透過相同連線傳送要求信號訊息 (如果有問題的話,會傳送例外狀況) 至啟動者傳送頁面。