修正: BizTalk Adapter Pack 内の WCF-SAP アダプターが SAP システムに対して RFC または BAPI を実行すると、「フォーマッタがメッセージを逆シリアル化しようとしているときに例外をスローしました」というエラーが発生する

適用先
BizTalk Adapters

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

  • BizTalk Adapter Pack 2.0
  • BizTalk Adapter Pack 2010

現象

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

  • コンピューターに Microsoft BizTalk Adapter for mySAP Business Suite 3.0 をインストールします。

    注: BizTalk Adapter for mySAP Business Suite 3.0 は、Microsoft BizTalk Adapter Pack 2.0 または Microsoft BizTalk Adapter Pack 2010 に含まれています。

  • WCF-SAP アダプターは、SAP システムに対してリモート関数呼び出し (RFC) またはビジネス アプリケーション プログラミング インターフェイス (BAPI) を実行します。

  • SAP システムにより、RFC_BCD データ型の負の 10 進数値が返されます。

この場合に、次のようなエラーが表示されることがあります。

メッセージを逆シリアル化しようとしたときに、フォーマッタが例外をスローしました:
パラメーター http://Microsoft.LobServices.Sap/2007/03/Rfc/:EXPHEADER を逆シリアル化しようとしたときにエラーが発生しました。
InnerException メッセージは '型 microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIMEPOHEADER のオブジェクトの逆シリアル化中にエラーが発生しました。
値 '-*<decimal value>' は、型 'decimal' として解析できません。

      

原因

この問題は、RFC_BCD値が .NET 文字列データ型に誤って変換されるために発生します。

RFC_BCD値が .NET 文字列データ型に変換される場合、WCF-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 製品の問題であることを確認しました。

追加情報

SAP データ型の詳細については、次の MSDN Web サイトを参照してください。

SAP データ型に関する一般的な情報BizTalk Server の修正プログラムの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

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