J'ai une opération de service WCF qui accepte un paramètre de contrat de données de type personnalisé MyQuery - function Search(q as MyQuery)
. L'objet MyQuery contient 2 propriétés:Flex & WCF - Erreur d'énumération
MyQuery.SearchPhrase (string)
MyQuery.SearchType (custom enum SearchTypeEnum)
J'ai également une application client Flex qui utilise ce service. Mais quand Flex appelle la recherche() opération, je reçois l'erreur suivante sur la propriété de l'énumération:
« Impossible de trouver la définition pour le type 'http://mydomain/2009/04/SearchTypeEnum::SearchTypeEnum »
L'erreur est renvoyée de Flex alors qu'il est la construction de la demande au service.
Donc, ma question est ... est-il possible de contourner ce problème dans Flex? Ou est ma seule alternative pour redessiner le service sans enums?
Voici comment le contrat de données ENUM est défini au niveau de service:
<DataContract(Namespace:="http://mydomain/2009/04/SearchTypeEnum")> _ Public Enum SearchTypeEnum <EnumMember()> [Boolean] = 0 <EnumMember()> [NaturalLanguage] = 1 End Enum
Pour autant que je sais que c'est la définition correcte d'un contrat de données ENUM. J'ai également essayé d'utiliser les attributs ServiceKnownType et KnownType sur le service et sur la classe MyQuery mais en vain.
Merci - J'ai déjà essayé avec un client .NET et cela fonctionne très bien. Je devrais également noter que j'ai d'autres opérations de service qui fonctionnent bien de Flex. Ce n'est que lorsque les enums sont introduits que cette erreur se produit. – Keith