Я вижу очень странную проблему с веб-сервисом .NET, используемым Flex.
У меня очень простой класс, в котором нет ничего, кроме свойств с атрибутами [XmlAttribute ('xxx')].
public class OrderAddress
{
public OrderAddress() {}
[XmlAttribute("firstName")]
public string FirstName { get; set; }
[XmlAttribute("lastName")]
public string LastName { get; set; }
[XmlAttribute("company")]
public string Company { get; set; }
[XmlAttribute("address1")]
public string Address1 { get; set; }
... (more properties)
}
Проблема в том, что во Flex, когда этот объект десериализован, КАЖДЫЕ ОДНО поля в нуль-отладчике являются пустыми Экземпляр класса OrderAddress не является нулевым, просто все поля. Я на 100% уверен, что мой прокси-слой веб-службы обновлен, и по сети передаются данные на 100%, как показано Fiddler .
Очень странная вещь: если я изменю одно из этих свойств для сериализации как элемента (в отличие от XmlAttribute) и перекомпилирую ТОЛЬКО мой веб-сервис на C #, тогда данные мгновенно могут быть распознаны Flex. Если я добавлю полностью неиспользуемое поле - например, public string Foo = "foo";
, то это также неожиданно сработает.
Я помню, что видел что-то подобное раньше, но не помню, успешно ли я это исправил или нет.
Для меня уже 3:30 утра, и мне нужно отложить устранение неполадок, связанных с хардкором, но выкинуть их сюда на тот случай, если это станет очевидным для любого, кто читает. Код находится в модуле, который, как я знаю, может иногда вызывать некоторые странности, но это кажется очень странным.