Преобразование WSDL-кода в серверный программный код Web-сервиса
Преобразование WSDL-кода в серверный программный код Web-сервиса
Одним из интересных вариантов использования утилиты wsdl.exe является генерирование серверного программного кода на основе WSDL-документа (с помощью опции /serverInterfасе). Очевидно, если вы начинаете разработку Web-сервиса XML с создания WSDL-документа, эта опция должна быть для вас очень важна. После того как файл исходного кода будет сгенерирован, вы получите хорошую исходную позицию для реализации каждого Web-метода.
Предположим, что вы создали WSDL-документ (CarBizObject.wsdl), в котором описывается единственный метод DeleteCar(), получающий на вход целое число и не возвращающий ничего. Этот метод предлагается Web-сервисом XML с именем CarBizObject, который может вызываться с использованием связи SOAP.
Чтобы сгенерировать серверный файл программного кода C# на основе этого WSDL-документа, откройте окно командной строки .NET и вызовите утилиту wsdl.exe с флатом /serverInterface, за которым должно следовать имя соответствующего WSDL-документа. Заметьте, что WDSL-документ может содержаться либо в локальном файле *.wsdl:
wsdl /serverInterface CarBizObject.wsdl
либо получаться динамически по данному URL с помощью указания суффикса ?wsdl:
wsdl /serverInterface http://localhost/CarService/CarBizObject.asmx?wsdl
После того как wsdl.exe обработает соответствующие XML-элементы, вы получите описания интерфейсов для каждого Web-метода.
[System.Web.Services.WebServiceBindingAttribute(
Name="CarBizObjectSoap",
Namespace="http://IntertechTraining.com/")]
public partial interface ICarBizObjectSoap {
…
void RemoveCar(int carID);
}
Используя эти интерфейсы, вы можете определить класс, реализующий различные методы Web-сервиса XML.
Исходный код. Файл CarBizObject.wsdl размещен в подкаталоге, соответствующем главе 25.