本文适用于以下产品:
- 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 适配器 (RFC) 或业务应用程序编程接口 (BAPI) 执行远程函数调用。
SAP 系统返回 RFC_BCD 数据类型的负十进制值。
在此方案中,可能会收到类似以下内容的错误:
注意
格式化程序在尝试反序列化消息时引发异常:
尝试反序列化参数 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 中。 有关如何获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2572999 适用于 BizTalk Adapter Pack 2010 的累积更新程序包 2
对于 BizTalk Adapter Pack 2.0
解决此问题的修补程序包含在 BizTalk Adapter Pack 2.0 的累积更新程序包 3 中。
有关如何获取累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2557150 适用于 BizTalk Adapter Pack 2.0 的累积更新包 3
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
详细信息
有关 SAP 数据类型的详细信息,请访问以下 MSDN 网站:
有关 SAP 数据类型的一般信息有关 BizTalk Server 修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2003907 有关BizTalk Server修补程序的信息