У меня есть операция службы WCF, которая принимает параметр контракта данных пользовательского типа MyQuery - function Search(q as MyQuery)
. Объект MyQuery содержит 2 свойства:
MyQuery.SearchPhrase (string)
MyQuery.SearchType (custom enum SearchTypeEnum)
У меня также есть клиентское приложение Flex, которое использует эту услугу. Но когда Flex вызывает операцию Search (), я получаю следующую ошибку о свойстве перечисления:
"Не удается найти определение для типа
«http://mydomain/2009/04/SearchTypeEnum::SearchTypeEnum"
Ошибка выдается из Flex во время создания запроса к службе.
Так что мой вопрос ..... есть ли способ обойти эту проблему во Flex? Или моя единственная альтернатива - перепроектировать сервис без перечислений?
Вот как контракт enum data определяется на уровне сервиса:
<DataContract(Namespace:="http://mydomain/2009/04/SearchTypeEnum")> _
Public Enum SearchTypeEnum
<EnumMember()> [Boolean] = 0
<EnumMember()> [NaturalLanguage] = 1
End Enum
Насколько я знаю, это правильное определение контракта на перечисление данных. Я также попытался использовать атрибуты ServiceKnownType и KnownType в службе и в классе MyQuery, но безрезультатно.