Сериализация c # DateTime в Java Time и Java Date для веб-сервиса SAP - PullRequest
1 голос
/ 18 июля 2011

Мне нужно загрузить данные в SAP через веб-сервис, используя WCF в c # 4.0 (VS2010).Мне удалось подключиться и опубликовать данные с использованием веб-службы, однако я столкнулся с проблемой с датой и временем.

У меня есть класс с именем MtrRdngDocERPRsltCrteReqRslt, имеющий 2 поля, называемые ActualMeterReadingDate и ActualMeterReadingTime.Когда Visual Studio сгенерировал прокси-класс, он преобразовал эти объекты как объекты даты и времени, однако я знаю, что они являются датой и временем на другом конце веб-службы (которая реализована в JAVA).

Проблема заключается в том, что когдаЯ передаю значения datetime в эти поля, они не сериализуются и не принимаются на другом конце.

Также обратите внимание, что когда я сериализирую даты, которые определены как 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 Ответ

1 голос
/ 18 июля 2011

У меня были некоторые проблемы, когда я делал это некоторое время назад, и я решил работать с длинными свойствами, потому что это самый близкий универсальный способ взаимодействия для достижения этого, поскольку объекты DateTime в c # и объекты Date в java - это разные вещи из разных языков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...