У меня есть служба WCF, работающая с SOAP и позволяющая Flex / Flash подключаться к ней с помощью basicHttpBinding с помощью параметра «Данные» \ «Импорт веб-службы».К сожалению, когда я использую и вызываю этот сервис во Flex, он выдает следующую ошибку ...
Error: Cannot find definition for type
'http://schemas.datacontract.org/2004/07/System.Drawing::Size' at
mx.rpc.xml::XMLDecoder/decodeType()
... при использовании следующего кода ...
// This will return an array of presentations
var service:PresentationAuthoring = new PresentationAuthoring();
var token:AsyncToken = service.getAllPresentationByClientId(
mClientId , mUserId , mWCFServiceHash );
token.addEventListener( ResultEvent.RESULT, onResult );
token.addEventListener( FaultEvent.FAULT, onFault );
Этот метод возвращаетмассив объектов Presentation, которые получает служба.На данный момент нет DataContracts, и я разрешаю сериализацию объекта POCO Presentation и исключение службы, которая работает нормально.Однако этот класс имеет свойство только для чтения типа System.Drawing.Size, которое получено из соответствующих свойств высоты и ширины.Просматривая сгенерированный код, он не регистрирует класс «Размер» в базовой схеме импорта, хотя все же кажется, что он создает класс Size.
Альтернативой было предотвращение сериализации производного свойства с использованием[XmlIgnore], но это не сработало.
В идеале мне нужен способ, позволяющий моему приложению Flex взаимодействовать с моей службой WCF, но, похоже, он задыхается от типа System.Drawing.Size, и хотя я мог быизмените это, есть другие типы фреймворка, такие как Point, Rectangle и т. д., и т. д., которые используются в проекте.Кто-нибудь еще сталкивался с этой проблемой или может предложить альтернативный подход?
[Обратите внимание, что служба WCF работает правильно, когда ее использует приложение .NET.]
С уважением и благодарностьюаванс - S