本文適用於下列產品:
-
BizTalk 配接器套件 2.0
-
BizTalk 配接器套件 2010
徵狀
請試想下列案例:
-
用戶端程式會使用 Microsoft Windows 通訊基礎 WCF 架構的 SAP 介面卡 (也就是 Microsoft BizTalk 配接器 mySAP 商務套件 3.0),來叫用 WCF 服務模型上 SAP 系統中的某些遠端函式呼叫。注意: 這張介面卡是包含在 Microsoft BizTalk 配接器套件 2.0 或 Microsoft BizTalk 配接器的封包 2010年。
-
發生網路問題,以及 WCF SAP 配接器會失去連線至 SAP 系統。
在這個案例中,SAP 系統會傳回RFC_FAILURE錯誤碼和遠端的函式呼叫都沒有作用。 此外, ThreadAbortException例外狀況發生,而且您會收到下列錯誤:
System.Threading.ThreadAbortException: 執行緒正在被 aborted.at 在 Microsoft.Adapters.SAP.CNativeInvoker.Invoke (CNativeInvoker *、 UInt32 RfcCallReceiveExU UInt32、 Char *、 RFC_PARAMETER *、 RFC_PARAMETER *、 RFC_PARAMETER *、 RFC_TABLE * (Char * *)connectionHandle,Char * m_szFunctionName)
在一段時間之後發生許多RFCException例外狀況,並且您收到許多錯誤,如下所示:
Microsoft.Adapters.SAP.RFCException: 詳細說明: 錯誤碼 = RFC_FAILURE。 AdapterErrorMessage = RfcCallReceiveEx 呼叫 RFC 時傳回錯誤: Z_GET_PO_BY_SAP。
此外,在 BizTalk server 上產生下列的呼叫堆疊追蹤:
在 [在 Microsoft.Adapters.SAP.RfcOutboundInvoker.Invoke() 的 Microsoft.Adapters.SAP.RFCException.HelperThrow (Int32 retCode、 字串 additionalErrorMessage)
原因
之所以發生這個問題,是因為 WCF SAP 配接器不正確會重複使用 SAP 頻道 SAP 系統中。 WCF SAP 配接器收到RFC_FAILURE錯誤程式碼之後,WCF SAP 配接器就會發生錯誤。 因此,不正確地重複使用 SAP 系統中的 「 SAP 頻道。
解決方案
累積更新資訊
BizTalk 配接器套件 2010
解決這個問題的 hotfix 會併入 BizTalk 配接器的封包 2010年累積更新套件 2。 如需有關如何取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文: BizTalk 配接器的封包 2010年,2572999累積更新套件 2
BizTalk 配接器套件 2.0
累積更新套件 3 中會包含可解決這個問題的 hotfix,BizTalk 配接器套件 2.0。 如需有關如何取得累積更新套件,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文的詳細資訊:
2557150 BizTalk 配接器套件 2.0 的累積更新套件 3
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需有關如何使用 WCF 服務模型來叫用 Rfc 的詳細資訊,請造訪下列 MSDN 網站:
如何使用 WCF 服務模型來叫用 Rfc如需有關 BizTalk Server hotfix 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2003907 BizTalk Server hotfix 的相關資訊