Сериализация XML: объект не сериализован - PullRequest
12 голосов
/ 09 декабря 2010

Я получаю «Unspecified error» при попытке вызвать определенный метод веб-службы. Используя XMLSpy, я обнаружил, что объект параметра просто не был сериализован.

В сгенерированном источнике сериализатора я отмечаю строки:

if (!needType) {
  System.Type t = o.GetType();
  if (t == typeof(global::moonraker1.Conference)) {
  }
  else {
    throw CreateUnknownTypeException(o);
  }
}

Однако при импорте wsdl был создан модуль с именем moonraker1.BookingService, поэтому тип объекта параметра на самом деле moonraker1.BookingService.Conference. Кажется вполне возможным, что именно поэтому объект не сериализован, хотя я не понимаю, почему сообщение по-прежнему передается веб-службе.

Пожалуйста, кто-нибудь может пролить свет на это? Или я на неправильном пути?

1 Ответ

1 голос
/ 26 октября 2011

Теперь я не уверен, что это так, но похоже на какой-то код .NET. Возможно, ответ так же прост, как вам нужен конструктор по умолчанию в вашем типе.

Мой собственный опыт работы с сериализацией в .NET заключается в том, что большую часть времени это происходит потому, что я написал собственный конструктор, а потом забыл написать конструктор по умолчанию ..

...