将c#DateTime序列化为SAP Web服务的Java时间和Java日期

时间:2011-07-18 07:03:50

标签: c# java web-services serialization sap

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

我有一个名为MtrRdngDocERPRsltCrteReqRslt的类,它有两个名为ActualMeterReadingDate和ActualMeterReadingTime的字段。当Visual Studio生成代理类时,它将这些对象转换为datetime对象,但我知道它们是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);
            }
        }

1 个答案:

答案 0 :(得分:1)

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