2011-11-09 8 views
0

SOAPを実行し、 'データ' \ 'Webサービスのインポート'オプションを使用してbasicHttpBindingを使用してFlex/Flashに接続できるWCFサービスがあります。私は消費し、それが次のエラーをスロー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オブジェクトをシリアル化し、うまく動作するサービスでパントさせることができます。ただし、このクラスには適切なheightプロパティとwidthプロパティから派生したSystem.Drawing.Size型のreadonlyプロパティがあります。生成されたコードを見ても、Sizeクラスを作成しているようですが、基本インポートスキーマに 'Size'クラスは登録されません。

[XmlIgnore]を使用して派生したプロパティのシリアル化を停止する方法もありましたが、これは機能しませんでした。

理想的には、私のFlexアプリケーションが自分のWCFサービスと通信できるようにする必要がありますが、System.Drawing.Sizeタイプが詰まっているようですが、これを変更することができますが、Point、プロジェクト内で利用されている長方形、長方形など他の誰かがこの問題を経験したか、代替的なアプローチを提案できますか?

事前に

敬具と感謝[.NETアプリケーションがそれを消費したときに、正しくそのWCFサービス機能に注意してください。] - S

答えて

0

まあ答えはカスタムでサイズの構造体をボックスにしました私は(他のネイティブの描画構造体で)これを行う必要があるかもしれません。ホーハム。

関連する問題