適用於

本文適用於下列:

  • Microsoft BizTalk 配接器套件 2.0

  • Microsoft BizTalk 配接器套件 2010

簡介

這篇文章說明從 Microsoft BizTalk 配接器套件,將ClearRfcContext繫結內容新增至 Microsoft Windows 通訊基礎 WCF 架構的 SAP 介面卡的累積更新所隨附的更新。

徵狀

請試想下列案例:

  • 您有正在執行 Microsoft BizTalk Server 2006 R2、 Microsoft BizTalk Server 2009年或 Microsoft BizTalk 伺服器 2010年的電腦。

  • 您可以使用 WCF 架構的 SAP 介面卡連線到 SAP R/3 伺服器。注意: WCF 為基礎的 SAP 配接器會包含在 Microsoft BizTalk 配接器套件 2.0 或 Microsoft BizTalk 配接器的封包 2010年。

  • 您建立一個使用 SAP 配接器來呼叫遠端函式呼叫 (Rfc) 使用 SAP 全域變數在 SAP R/3 伺服器的 BizTalk 應用程式。

  • 您可以設定 [ EnableConnectionPooling ] 繫結屬性為True

在這個案例中,您會發現由 Rfc 所傳回的資料是不是您所預期。 此外,所傳回的資料看起來可能造成影響到相同的 RFCs.The ClearRfcContext繫結屬性的上一個呼叫可以避免類似這種情況中發生的問題。

原因

因為執行 SAP R/3 伺服器上的 RFC 呼叫之後,啟用連接共用時,要將對應的 SAP 連接傳回到連接集區,就會發生這個問題。 下一步的 RFC 呼叫到達時,相同的 SAP 連線就會從連接集區中,擷取,而且用於執行呼叫。如果 RFC 使用一些通用的變數,而且它們不適當清除,RFC 的下一個呼叫會使用儲存在全域變數,從先前的呼叫中的值。 這種情況下,可能會導致無法預期的結果。注意: 只有當 RFC 使用全域變數,和全域變數尚未清除適當的 RFC,就會發生這個問題。

解決方案

若要解決這個問題,請套用此更新程式。 然後,將ClearRfcContext繫結屬性為True

累積更新資訊

BizTalk 配接器套件 2010

Hotfix 可解決這個問題納入 BizTalk 配接器的封包 2010年累積的更新 1。  如需有關如何取得累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文: BizTalk 配接器的封包 2010年, 2539794累積更新套件 1

BizTalk 配接器套件 2.0

第一次此修正程式已於累積更新套件 2 上發行,BizTalk 配接器套件 2.0。 如需有關如何取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2531605 BizTalk 配接器套件 2.0 的累積更新套件 2

其他相關資訊

有關此更新的備忘稿

  • 只有EnableConnectionPooling繫結屬性設定為True時, ClearRfcContext的繫結屬性才能適用。

  • 沒有此更新中,WCF 架構的 SAP 配接器並不會清除 SAP R/3 內容。 因此,行為是相同的ClearRfcContext繫結屬性設定為False時,所發生的情況。 預設值為False

  • 當連接共用已啟用, ClearRfcContext的繫結屬性設定為True,配接器就會排清 SAP R/3 工作階段,並清除 SAP 伺服器端上的所有全域變數。 因此,在相同的 SAP 連線上的下一通電話不受目前呼叫即可取得任何狀態。

  • 當連接共用已啟用, ClearRfcContext的繫結屬性設為False,配接器並不會清除 SAP R/3 工作階段。 在此情況下,如果 RFC 使用某些全域變數,變數未適當地清除,RFC 的下一個呼叫可能會使用儲存在全域變數,從目前的呼叫中的值。 這種情況下,可以授與未預期的結果。

  • 因為ClearRfcContext的繫結屬性需要額外的往返至 SAP R/3 伺服器,您可能會看到效能稍微減少您設定 [ ClearRfcContext ] 繫結屬性為True。 我們建議只當 RFC 使用全域變數,而 RFC 不適當地清除全域變數上時,才ClearRfcContext繫結屬性設定為True

  • 當您使用的介面卡在 proxy 的情況下例如從.NET 程式碼時,您可能要清除 SAP R/3 工作階段,在相同的 proxy/通道執行個體上的 RFC 呼叫之間。 此更新,新的作業,名為RfcClearContext時使用的RFC ] 節點,配接器加入服務參考精靈的下選取 [ SapBinding ] 選項。 RfcClearContext作業嘗試清除 SAP R/3 內容,並傳回下列其中一項:

    • ,則為 true – SAP R/3 內容的清理已順利完成。 您可以在 proxy/通道上進行額外的呼叫。

    • False -連線關閉,或開發作業嘗試清除 SAP R/3 內容時的錯誤。 您應該捨棄目前的 proxy/通道,因為任何進一步的呼叫可能會導致通訊錯誤。

參考

如需有關如何連接到 SAP 系統的詳細資訊,請造訪下列 Microsoft 開發人員網路 (MSDN) 網站:

建立 SAP 系統的連線如需有關 BizTalk Server hotfix 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2003907 BizTalk Server hotfix 的相關資訊

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×