我有一個WCF服務運行SOAP,並允許Flex/Flash通過使用'Data'\'Import Web Service'選項使用basicHttpBinding連接到它。不幸的是,當我消耗和調用此服務Flex內它引發以下錯誤...Flex無法找到來自WCF服務的類型定義?
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);
此方法返回演示的陣列被服務檢索的對象。目前沒有DataContracts,我允許POCO Presentation對象被序列化,並且可以正常工作。但是,此類具有從適當的高度和寬度屬性派生的類型System.Drawing.Size的只讀屬性。查看生成的代碼,它沒有在基本導入架構中註冊'Size'類,儘管它似乎仍然創建了一個Size類。
另一種方法是停止使用[XmlIgnore]序列化派生的屬性,但沒有奏效。
理想情況下,我需要一種允許我的Flex應用程序與我的WCF服務進行通信的方式,但它似乎窒息了System.Drawing.Size類型,雖然我可以更改它,但還有其他框架類型,如Point,矩形等,在項目中使用。有沒有其他人遇到過這個問題,或者可以建議採取另一種方法?
[請注意,WCF服務的功能正常時,.NET應用程序使用它。]提前
親切的問候和感謝 - S