Кто-нибудь знает хороший инструмент для создания WSDL для контракта службы, написанного на С# (т.е. набор методов, помеченных как «[OperationContract]» с использованием WCF)? Все инструменты, которые я нашел, работают наоборот: создают заглушки кода из WSDL. Я не хочу вручную заедать файл WSDL. Я нашел инструменты для php и J2EE, но не для С#. Спасибо!
Генератор WSDL для C#
Ответы (3)
Проще всего разместить службу с настройкой базового адреса, а затем просто нажать на нее из браузера с добавлением «?wsdl» в конце.
Вот пример конфигурации службы с указанным базовым адресом. Обратите внимание, что это входит в элемент <configuration><services>
в вашей конфигурации:
<service name="MyServiceName" behaviorConfiguration="MyServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000/MyService"/>
</baseAddresses>
</host>
<endpoint address="net.tcp://localhost:9001/MyService"
binding="netTcpBinding"
contract="IMyService"
bindingConfiguration="MyServiceBinding"/>
</service>
Как только вы разместите его, просто перейдите на http://localhost:9000/MyService?wsdl
, чтобы увидеть определение WSDL.
Два пути:
а) Загрузите файл wsdl и выполните следующие действия:
i) Откройте командную строку Visual Studio от имени администратора.
ii) Введите команду ниже:
wsdl.exe [путь к вашему файлу WSDL]
б) С конечной точкой:
i) Откройте командную строку Visual Studio от имени администратора.
ii) введите следующую команду: wsdl.exe http://localhost:9000/MyService