2011-11-09 41 views
0

我有一個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

回答

0

那麼答案是框與自定義大小結構儘管它有點令人厭煩,但我可能必須使用(可能)其他本地繪圖結構來完成此工作。何哼。