Я пытаюсь создать службу С# в .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.