[BTS]Adapter Pack调用SAP RFC接口时间格式出错解决办法

2009年4月18日14:44:29

错误信息如下

事件类型: 警告
事件来源: BizTalk Server 2006
事件种类: BizTalk Server 2006
事件 ID: 5743
日期:  2009-4-18
事件:  14:23:23
用户:  N/A
计算机: PGDC-MSPT-01
描述:
适配器无法传输要发往发送端口“WCF_RFC_BAPI_PO_CREATE1”(URL 为“sap://CLIENT=200;LANG=ZH;@a/10.56.0.103/00?RfcSdkTrace=False&AbapDebug=False”)的消息。在为该发送端口指定的重试时间间隔过后,将会重新传输该消息。详细信息:“Microsoft.ServiceModel.Channels.Common.XmlReaderGenerationException: An error occurred when trying to convert the byte array [30-00-30-00-30-00-30-00-30-00-30-00-30-00-30-00] of RFCTYPE RFCTYPE_DATE with length 8 and decimals 0 to XML format. Parameter/field name: VPER_START   Error message: 年、月和日参数描述无法表示的 DateTime。 ---> System.ArgumentOutOfRangeException: 年、月和日参数描述无法表示的 DateTime。
   在 System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day)
   在 System.DateTime..ctor(Int32 year, Int32 month, Int32 day, Int32 hour, Int32 minute, Int32 second, Int32 millisecond, DateTimeKind kind)
   在 Microsoft.Adapters.SAP.SapMetadataUtilities.ConvertRfcBytesToXmlString(SapLocalBindingProperties bindingProperties, Byte[] data, Int32 offset, Int32 datalength, Int32 singleByteFieldLength, RFCTYPE type, Int32 decimals, String fieldname, Encoding encoding, SAPConnection sapconnection)
   --- 内部异常堆栈跟踪的结尾 ---
   在 Microsoft.Adapters.SAP.SapMetadataUtilities.ConvertRfcBytesToXmlString(SapLocalBindingProperties bindingProperties, Byte[] data, Int32 offset, Int32 datalength, Int32 singleByteFieldLength, RFCTYPE type, Int32 decimals, String fieldname, Encoding encoding, SAPConnection sapconnection)
   在 Microsoft.Adapters.SAP.SapTableMetadata.GetDataValueInXmlFormat(Int32 fieldIndex, Byte[] data, SAPConnection sapConnection)
   在 Microsoft.Adapters.SAP.XmlGenerator.get_Value()
   在 System.Xml.XmlDictionaryWriter.WriteTextNode(XmlDictionaryReader reader, Boolean isAttribute)
   在 System.Xml.XmlDictionaryWriter.WriteNode(XmlDictionaryReader reader, Boolean defattr)
   在 System.ServiceModel.Channels.XmlReaderBodyWriter.OnWriteBodyContents(XmlDictionaryWriter writer)
   在 System.ServiceModel.Channels.BodyWriter.WriteBodyContents(XmlDictionaryWriter writer)
   在 System.ServiceModel.Channels.BodyWriterMessage.OnWriteBodyContents(XmlDictionaryWriter writer)
   在 System.ServiceModel.Channels.Message.WriteBodyContents(XmlDictionaryWriter writer)
   在 Microsoft.Adapters.AdapterUtilities.AdapterMessage.OnWriteBodyContents(XmlDictionaryWriter writer)
   在 System.ServiceModel.Channels.Message.WriteBodyContents(XmlDictionaryWriter writer)
   在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateBizTalkMessageStream(Message wcfMessage, IAdapterConfigInboundMessageMarshalling config)
   在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateBizTalkMessage(IBaseMessageFactory messageFactory, IAdapterConfigInboundMessageMarshalling marshallingConfig, Message wcfMessage)
   在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)”。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

错误提示

事件类型: 警告
事件来源: BizTalk Server 2006
事件种类: BizTalk Server 2006
事件 ID: 5743
日期:  2009-4-18
事件:  14:51:25
用户:  N/A
计算机: PGDC-MSPT-01
描述:
适配器无法传输要发往发送端口“WCF_RFC_BAPI_PO_CREATE1”(URL 为“sap://CLIENT=200;LANG=ZH;@a/10.56.0.103/00?RfcSdkTrace=False&AbapDebug=False”)的消息。在为该发送端口指定的重试时间间隔过后,将会重新传输该消息。详细信息:“Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: An error occurred while parsing the xml. Length of variable: DOC_DATE is 19 but expected length is 8.  

Server stack trace:
   在 System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
   在 System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
   在 System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
   在 System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]:
   在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   在 System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
   在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)”。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

解决方案

1.

2.

3.http://support.microsoft.com/kb/954539

4.http://blogs.msdn.com/adapters/archive/2007/11/24/the-enablesafetyping-binding-property.aspx 

5.http://blogs.msdn.com/adapters/attachment/8856923.ashx

原文地址:https://www.cnblogs.com/xuzhong/p/1438709.html