Создать веб-сервис из WSDL - PullRequest
       11

Создать веб-сервис из WSDL

12 голосов
/ 03 августа 2009

Возможно, это действительно простой вопрос, но я не смог найти ответ:

Для клиента мне нужно иметь веб-сервис. Клиент прислал мне wsdl-файл, который веб-сервис должен «внедрить». Как мне это сделать? Я сгенерировал любое количество клиентских rpoxies, но это наоборот. Я могу использовать как веб-сервисы ASP.NET 2.0, так и Windows Communication Foundation.

Ответы [ 4 ]

15 голосов
/ 03 августа 2009

wsdl.exe / server .

Создает абстрактный класс для XML Веб-сервис на основе договоров. По умолчанию генерируется клиент прокси классы. При использовании Параметр / параметры, это значение элемент, который содержит "Сервер".

Вы можете сделать то же самое с svcutil.exe для WCF, что-то вроде:

svcutil.exe thewsdl.wsdl / language: c # /out:ITheInterface.cs (я не проверял это).

Правка. Джон Саундерс в своем ответе хорошо высказывается в пользу подхода WCF - я тоже рекомендую это.

14 голосов
/ 03 августа 2009

На самом деле, вы должны сделать это с svcutil.exe, а не с wsdl.exe. WSDL.EXE является частью технологии веб-службы ASMX, которую Microsoft теперь считает «устаревшим» кодом, в котором не будут исправлены ошибки.

2 голосов
/ 03 августа 2009

С этим файлом WSDL (wissd'le) можно многое сделать.

От выполнения WS Class вручную до использования Автоматически сгенерированного класса из wsdl.exe

давайте представьте , что, например, у вас есть этот WDSL (взято из WebServiceX.Net )


до создайте автоматически сгенерированный C # прокси вы идете в командную строку и пишете:

wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl

Примечание : внутри вашей папки C: \ Program Files \ Microsoft SDK \ Windows \ v6.1 \ Bin вы найдете wsdl.exe или просто создайте dir / s в ваших C: \ Program Files \

если вы хотите в Visual Basic , просто используйте / language: vb или / l: vb

/ язык: Язык, используемый для сгенерированного прокси-класса. Выберите из «CS», 'VB', 'JS', 'VJS', 'CPP' или укажите полное имя для класса, реализующего System.CodeDom.Compiler.CodeDomProvider.

по умолчанию язык "CS" (CSharp). Краткая форма '/l:'.

Эта команда поместит в ваш C: \ myProxyScripts автоматически сгенерированный прокси.

если вы используете файл WSDL на вашем компьютере , просто измените URL на ваш полный путь , например

wsdl /language:cs /protocol:soap /out:C:\myProxyScripts C:\myProxyScripts\myWsdlFile.wsdl

Примечание: ваш сгенерированный прокси будет называться Имя службы , которое вы указали в нашем примере как:

<wsdl:service name="TranslateService">

Я надеюсь, что это поможет вам, понять WSDL, автоматически сгенерированные прокси и что теперь вы можете управлять всем, что вам нужно, чтобы удовлетворить пожелания ваших клиентов.

0 голосов
/ 03 августа 2009

Вы можете использовать утилиту wsdl от Microsoft для создания серверных интерфейсов и их реализации

Вот краткое описание утилиты WSDL.

wsdl.exe - Утилита для генерации кода для клиентов веб-служб xml и веб-приложений xml Сервисы использование ASP.NET из контрактных файлов WSDL, схем XSD и .discomap документы открытия. Этот инструмент можно использовать вместе с disco.exe.

...