Я пытаюсь создать службу С# в .NET 3.5, которая поддерживает как SOAP, так и показывает WSDL - и REST.
Служба SOAP и генерация WSDL были достаточно легкими для использования с классами ServiceHost и BasicHttpBinding. Получил, что работа и клиент были счастливы.
Поскольку SOAP вызывает все используемые простые параметры, разработчики-клиенты запросили интерфейс REST для некоторых из команд. Поэтому я изменил класс ServiceHost на WebServiceHost, добавил необходимые атрибуты WebInvoke и WebGet, добавил класс WebHttpBinding и bingo - REST и SOAP, оба работали из одной службы. Путь круто, измените один интерфейс, и оба REST и SOAP получили новый материал.
Но одна проблема - WSDL больше не генерируется. Я не мог найти http://server/service?wsdl и получить файл WSDL. Проверка документов MSDN, которая выглядит как поведение по умолчанию WebServiceHost.
Вопрос: могу ли я переопределить это поведение, чтобы получить WSDL? Не имеет того же URL-адреса, что и раньше, - он может измениться - но мне просто нужно иметь некоторый URL-адрес для обслуживания WSDL для этих разработчиков SOAP.