Как использовать WSDL - PullRequest
       36

Как использовать WSDL

110 голосов
/ 20 августа 2009

Мне нужно использовать веб-сервис. Они прислали мне файл WSDL. Что я должен сделать, чтобы добавить его на мой сайт и начать использовать его в качестве прокси. (Если я помещу его в виртуальный каталог, его можно обнаружить, но предоставит ли он мне соединение с реальным веб-сервисом?)

Ответы [ 4 ]

125 голосов
/ 20 августа 2009

Я бы запустил Visual Studio, создал бы веб-проект (или консольное приложение - не имеет значения).

Для стандарта .Net:

  1. Я бы щелкнул правой кнопкой мыши по проекту и выбрал «Добавить ссылку на службу» в контекстном меню Добавить .
  2. Я бы щелкнул на Advanced, а затем на Add Service Reference.
  3. Я бы получил полный путь к файлу wsdl и вставил в адресную строку. Тогда стреляйте в Стрелку (кнопка перехода).
  4. Если при попытке загрузить файл произошла ошибка, то должен быть сломанный и неразрешенный URL-адрес, который необходимо устранить, как показано ниже: enter image description here Обратитесь к этому ответу для получения информации о том, как исправить: Stackoverflow ответ на: Невозможно создать сервисную ссылку для файла wsdl

Если ошибки нет, просто установите NameSpace, которое вы хотите использовать для доступа к сервису, и оно будет сгенерировано для вас.

Для .Net Core

  1. Я бы щелкнул правой кнопкой мыши по проекту и выбрал Connected Service из контекстного меню Add.
  2. Я бы выбрал поставщика списка веб-служб Microsoft WCF из списка.
  3. Я бы сразу нажал кнопку «Обзор» и сразу выбрал файл wsdl. Установите пространство имен, и все готово. Если вы столкнулись с какой-либо ошибкой, обратитесь к приведенному выше адресу для исправления ошибок.

Любой из вышеперечисленных методов создаст для вас простой, очень простой клиент WCF. Вы должны найти класс «YourservicenameClient» в сгенерированном коде.

Для справки сгенерированный файл cs можно найти в вашем Obj / debug (или release) / XsdGeneratedCode, и вы все равно можете найти dll в папке TempPE.

Созданные службы должны иметь методы для каждого из определенных методов в контракте WSDL.

Создайте экземпляр клиента и вызовите методы, которые вы хотите вызвать - вот и все!

YourServiceClient client = new YourServiceClient();
client.SayHello("World!");

Если вам нужно указать удаленный URL (не используя созданный по умолчанию), вы можете легко сделать это в конструкторе прокси-клиента:

YourServiceClient client = new YourServiceClient("configName", "remoteURL");

где configName - это имя конечной точки для использования (вы будете использовать все настройки, кроме URL), а remoteURL - это строка, представляющая URL-адрес для подключения (вместо того, который содержится в конфигурации ).

43 голосов
/ 20 августа 2009

В визуальной студии.

  • Создание или открытие проекта.
  • Щелкните правой кнопкой мыши проект в обозревателе решений.
  • Выберите «Добавить сервисную ссылку»
  • Вставьте адрес с полученным WSDL.
  • Нажмите ОК.

Если ошибок нет, вы сможете увидеть ссылку на службу в браузере объектов и все связанные методы.

16 голосов
/ 20 августа 2009

Используйте утилиту WSDL.EXE для создания прокси веб-службы из WSDL.

Вы получите длинный исходный файл C #, содержащий класс, который выглядит следующим образом:

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")]
public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol {
    ...
}

В вашем клиентском коде, потребляющем Web-сервис:

  1. создание экземпляра MyService.
  2. установить свойство Url
  3. вызов веб-методов
4 голосов
/ 31 мая 2018

Если вы хотите добавить ссылку wsdl в .Net Core проект , опция «Добавить веб-ссылку» отсутствует.

Чтобы добавить ссылку на wsdl, перейдите в Solution Explorer, щелкните правой кнопкой мыши элемент проекта References, а затем выберите Добавить подключенную службу .

enter image description here

Затем нажмите «Справочник по веб-службам Microsoft WCF»:

enter image description here

Введите путь к файлу в текстовое поле URI и импортируйте WSDL:

enter image description here

Он создаст простой, очень простой клиент WCF, и вы сможете использовать его примерно так:

YourServiceClient client = new YourServiceClient();
client.DoSomething();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...