Я пытаюсь заменить службу WSE на эквивалент WCF, где WSDL предоставляется извне.
Сначала я использовал svcutil и wsdl для генерации всех классов обслуживания и клиентов (ATP, меня интересует только реализация службы.) Я создал пустой проект библиотеки служб WCF и заменил / переименовал IService1.cs
на сгенерированный класс для интерфейса ServiceContractAttribute
. Затем я переименовал класс реализации Service1.cs
с именем класса реализации JINDEXWcfListener.cs
. Я удалил сгенерированный код из этого класса и создал определение класса JINDEXWcfListener:[interface name]
.
Инструмент автоматически сгенерировал реализацию интерфейса. Я использовал единственный метод, украшенный [OperationContractAttribute]
, чтобы поместить свой локальный код реализации. Я изменил значение по умолчанию app.config
, сгенерированное для корректировки имени контракта и службы, как требуется.
Когда я запускаю отладку, я вижу, что служба запускается в WTC. Однако, когда отображается одна операция, это красная точка с желтым вопросительным знаком перед названием операции. Когда я RC на имя операции, я получаю «Эта операция не поддерживается в тестовом клиенте WCF» без дополнительной информации. Что не так?