为SAP webservice序列化c# DateTime到Java时间和Java日期

本文关键字:Java 时间 日期 DateTime SAP webservice 序列化 | 更新日期: 2023-09-27 18:02:38

我需要通过web服务上传数据到SAP,使用c# 4.0 (VS2010)中的WCF。我已经能够使用web服务成功地连接和发布数据,但是我遇到了日期和时间的问题。

我有一个叫做MtrRdngDocERPRsltCrteReqRslt的类,它有两个字段叫做ActualMeterReadingDateActualMeterReadingTime。当Visual Studio生成代理类时,它将这些对象转换为日期时间对象,但我知道它们是web服务另一端的日期和时间(这是在JAVA中实现的)。

问题是,当我将datetime值传递给这些字段时,它们没有被序列化,也没有被另一端接收。

还请注意,当我序列化由web服务定义为DateTime的日期时,它们可以完美地工作。

我还使用以下代码序列化整个对象并将其本地保存为xml,我有同样的问题。


public void SerializeToXML(MeterReadingUploadWS2.MtrRdngDocERPRsltBulkCrteReqMsg bb, string path)
{
 System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(bb.GetType());
            
            var serializer = new System.Xml.Serialization.XmlSerializer(bb.GetType());
            
            using (var writer = System.Xml.XmlWriter.Create(path))
            {                        
                serializer.Serialize(writer, bb);
            }
        }

为SAP webservice序列化c# DateTime到Java时间和Java日期

我在一段时间前遇到了一些麻烦,我决定使用长属性,因为这是实现它的最接近的通用互操作方式,因为c#的DateTime和java的Date对象是来自不同语言的不同东西。