修正: WCF ベースの SAP アダプターが BizTalk Adapter Pack でRFC_FAILUREエラー コードを受信した後、リモート関数呼び出しが機能しない

適用先
BizTalk Adapters

この記事は、次の製品に適用されます。

  • BizTalk Adapter Pack 2.0
  • BizTalk Adapter Pack 2010

現象

たとえば次のようなシナリオを考えてみます。

  • クライアント プログラムは、Microsoft Windows Communication Foundation (WCF) ベースの SAP アダプター (Microsoft BizTalk Adapter for mySAP Business Suite 3.0 とも呼ばれます) を使用して、SAP システム上の WCF サービス モデルで一部のリモート関数呼び出しを呼び出します。

    注: このアダプターは、Microsoft BizTalk Adapter Pack 2.0 または Microsoft BizTalk Adapter Pack 2010 に含まれています。

  • ネットワークの問題が発生し、WCF-SAP アダプターが SAP システムへの接続を失います。

このシナリオでは、SAP システムはRFC_FAILUREエラー コードを返し、リモート関数呼び出しは機能しません。 さらに、ThreadAbortException 例外が発生し、次のエラーが表示されます。

System.Threading.ThreadAbortException: スレッドを中止しようとしました。

at RfcCallReceiveExU(UInt32 , char* , RFC_PARAMETER* , RFC_PARAMETER* , RFC_PARAMETER* , RFC_TABLE* , char** )

at Microsoft.Adapters.SAP.CNativeInvoker.Invoke(CNativeInvoker* , UInt32 connectionHandle, char* m_szFunctionName)

しばらくすると、多数の RFCException 例外が発生し、次のような多くのエラーが表示されます。

Microsoft.Adapters.SAP.RFCException: 詳細: ErrorCode=RFC_FAILURE. AdapterErrorMessage=Error が RFC: Z_GET_PO_BY_SAP の呼び出し中に RfcCallReceiveEx によって返されました。

また、BizTalk サーバーで次の呼び出し履歴トレースが生成されます。

at Microsoft.Adapters.SAP.RFCException.HelperThrow(Int32 retCode, String additionalErrorMessage)

at Microsoft.Adapters.SAP.RfcOutboundInvoker.Invoke()

      

原因

この問題は、WCF-SAP アダプターが SAP システムで SAP チャネルを誤って再利用するために発生します。

WCF-SAP アダプターがRFC_FAILUREエラー コードを受信した後、WCF-SAP アダプターでエラーが発生します。 したがって、SAP システムの SAP チャネルが誤って再利用されます。

解決策

累積的な更新プログラムの情報

BizTalk Adapter Pack 2010

この問題を解決する修正プログラムは、BizTalk Adapter Pack 2010 の累積的な更新プログラム パッケージ 2 に含まれています。 この累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2572999 BizTalk Adapter Pack 2010 の累積的な更新プログラム パッケージ 2

BizTalk Adapter Pack 2.0

この問題を解決する修正プログラムは、BizTalk アダプター パック 2.0 の累積的な更新プログラム パッケージ 3 に含まれています。

累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2557150 BizTalk Adapter Pack 2.0 の累積的な更新プログラム パッケージ 3

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

追加情報

WCF サービス モデルを使用して RFC を呼び出す方法の詳細については、次の MSDN Web サイトを参照してください。

WCF サービス モデルを使用して RFC を呼び出す方法BizTalk Server の修正プログラムの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

2003907 BizTalk Server 修正プログラムに関する情報