Web Services 将c# DateTime序列化为Java Time和Java Date for SAP Webservice

fivyi3re  于 2023-08-06  发布在  C#
关注(0)|答案(1)|浏览(129)

我需要通过WebService上传数据到SAP,使用C# 4.0(VS2010)中的WCF。我已经能够使用Web服务成功地连接和发布数据到,但是我遇到了日期和时间的问题。
我有一个叫MtrRdngDocERPRsltCrteReqRslt的类,它有两个字段,分别叫ActualMeterReadingDateActualMeterReadingTime。当Visual Studio生成代理类时,它将这些对象转换为日期时间对象,但我知道它们是Web服务另一端的Date和Time(用JAVA实现)。
问题是,当我将日期时间值传递给这些字段时,它们不会被序列化,并且不会在另一端被接收。
还要注意的是,当我序列化由webservice定义为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);
            }
        }

字符串

w8ntj3qf

w8ntj3qf1#

不久前,我在这方面遇到了一些麻烦,我决定使用长属性,因为这是实现长属性最接近的通用互操作方式,因为C#的DateTime和Java的Date对象在不同的语言中是不同的。

相关问题