2009-04-10 17 views
0

私は、カスタムタイプのMyQuery - function Search(q as MyQuery)のデータコントラクトパラメータを受け入れるWCFサービス操作を持っています。私も、このサービスを消費Flexクライアントアプリケーションを持っているフレックスとWCF - 列挙型エラー

MyQuery.SearchPhrase (string) 
MyQuery.SearchType (custom enum SearchTypeEnum) 

:MYQUERYオブジェクトは、2つのプロパティが含まれています。 Flexは検索()オペレーションを呼び出すときには、私が列挙プロパティに関する次のエラーを取得する:

「タイプ の定義を見つけることができません "http://mydomain/2009/04/SearchTypeEnum::SearchTypeEnum」エラーがそれている間のFlexからスローされる

サービスへのリクエストを作成しています。

私の質問は.....フレックスでこの問題を回避する方法はありますか?または列挙なしでサービスを再設計する私の唯一の選択肢ですか?

これは、列挙型のデータコントラクトは、サービス階層で定義された方法です。

<DataContract(Namespace:="http://mydomain/2009/04/SearchTypeEnum")> _ 
Public Enum SearchTypeEnum 
    <EnumMember()> [Boolean] = 0 
    <EnumMember()> [NaturalLanguage] = 1 
End Enum

は、私の知る限りでは、これは列挙型データコントラクトの正しい定義です。また、サービスとMyQueryクラスでServiceKnownTypeとKnownType属性を使用してみましたが、役に立たなかった。

答えて

0

これを動作させる方法が見つかりませんでした。代わりに、私は列挙定数を文字列定数に置き換えました。エレガントではないが動作する。

0

わかりやすい.NETクライアントを使用してみることをお勧めします。考えられるのは、アプリケーションをサービスで使用できるかどうかを確認することです。

+0

ありがとうございます - 既に.NETクライアントで試してみましたが、正常に動作します。 Flexからうまく機能している他のサービス操作があることにも注意してください。このエラーが発生するのはenumが導入されたときだけです。 – Keith