Создание webservice из wsdl
Это, может быть, очень простой вопрос, но я не смог найти ответ:
Для клиента мне нужно использовать веб-сервис. Клиент отправил мне wsdl файл, который веб-сервис должен "реализовать". Как мне это сделать? Я создал любое количество клиентских rpoxies, но это наоборот. Я могу использовать веб-службы ASP.NET 2.0 или Windows Communication Foundation.
Ответы
Ответ 1
wsdl.exe/server.
Создает абстрактный класс для XML Веб-сервис, основанный на контрактах. По умолчанию создается клиент прокси-классы. При использовании /parameters, это значение является элемент, содержащий "Сервер".
Вы можете сделать аналогичную вещь с svcutil.exe для WCF - что-то вроде:
svcutil.exe thewsdl.wsdl/language: С#/out:ITheInterface.cs(я не тестировал это).
Редактировать - Джон Сондерс хорошо говорит в своем ответе на одобрение WCF - я тоже рекомендую это.
Ответ 2
Собственно, вы должны сделать это с помощью svcutil.exe, а не с wsdl.exe. WSDL.EXE является частью технологии веб-сервисов ASMX, которую Microsoft теперь считает "устаревшим" кодом, который не будет исправлен.
Ответ 3
Вы можете сделать много с этим WSDL (wissd'le) файлом.
Из класса WS вручную, чтобы использовать класс Auto Generated из wsdl.exe
пусть представьте, что для вашего примера у вас есть WDSL (взято из WebServiceX.Net)
до создать автоматически сгенерированный прокси-сервер С#, перейдите в командную строку и напишите:
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 файлы \
если вы хотите в 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, Auto Generated Proxies и теперь вы можете управлять всем своим желанием.
Ответ 4
Вы можете использовать утилиту wsdl от microsoft для создания интерфейсов сервера и их реализации.
Вот краткое описание утилиты WSDL.
wsdl.exe - Утилита для генерации кода для клиентов веб-сервиса xml и веб-сайта xml Сервисы используя ASP.NET из файлов контракта WSDL, схемы XSD и .discomap документы обнаружения. Этот инструмент можно использовать совместно с disco.exe.