Генерация .Net Core Soap прокси веб-сервисов в MacOS - PullRequest
0 голосов
/ 22 сентября 2018

Я видел учебник ac #, в котором инструктор генерирует прокси с помощью

«Добавить ссылку»

(но он использовал Windows PC)

Я использую Mac и пытаюсь сгенерировать прокси веб-сервиса с тем же подходом. Он генерирует файлы с

system.Web.Services

пакет, которого нет в .Net Core

Я провел много исследований и обнаружил, что его нет в .Net Core, я пытаюсь добавить его как внешний, но безуспешноЯ прочитал несколько статей о том, что есть альтернатива, называемая WCF, но опять же я не нашел ее на Mac, все учебники или официальная документация используют Windows, я видел, что она работает с .exe, который убедил меня, этоад не существует на Mac или других системах Linux!

Некоторые могут помочь?есть идеи ?альтернативы?ярлыки?

Спасибо, что прочитали это здесь!

Ответы [ 3 ]

0 голосов
/ 23 сентября 2018

Поскольку добавление Microsoft WCF Web Service Reference не работает для ASP.NET Core 2.1 проекта на данный момент , вы можете добавить новый .NET Standard class library проект, нацеленный на Standard 2.0, и добавитьсервисная ссылка на него:

  1. Щелкните правой кнопкой мыши по проекту
  2. Выберите Add -> Connected Service
  3. В Connected Services выберите окно Microsoft WCF Web Service Reference Provider
  4. УкажитеWSDL подробности, как описано в руководстве
  5. Добавление новой ссылки на библиотеку в ваше ASP.NET Core веб-приложение (нацеленное на .NET Core 2.1)
0 голосов
/ 24 сентября 2018

Мое решение было основано на использовании .Net Core CLI, как в официальной документации здесь

  1. Создайте каталог с именем HelloSvcutil для вашего проекта и сделайте его текущим каталогом, какв следующем примере:

mkdir HelloSvcutil

cd HelloSvcutil

Создайте новый консольный проект C # в этом каталоге, используя команду dotnet new, следующим образом:

dotnet new console

Откройте файл проекта HelloSvcutil.csproj в вашем редакторе, отредактируйте элемент Project и добавьте dotnet-svcutil NuGet в качестве ссылки на инструмент CLI, используя следующий код:

<ItemGroup>
    <DotNetCliToolReference Include="dotnet-svcutil" Version="1.0.*" />
</ItemGroup>

Восстановите пакет dotnet-svcutil с помощью команды dotnet restore следующим образом:

dotnet restore

Запустите dotnet с командой svcutil, чтобы сгенерировать справочный файл веб-службы следующим образом: (используйте ссылку на веб-службу, в моем случае: http://localhost.com/BanqueWS?wsdl)

dotnet svcutil http://contoso.com/SayHello.svc

сгенерированный файл сохраняется как HelloSvcutil / ServiceReference1 / Reference.cs.Инструмент dotnet_svcutil также добавляет в проект соответствующие пакеты WCF, требуемые прокси-кодом, в качестве ссылок на пакеты.

Восстановите пакеты WCF с помощью команды dotnet restore следующим образом:

dotnet restore

Откройте файл Program.cs в вашем редакторе, отредактируйте метод Main () и замените автоматически сгенерированный код следующим кодом для вызова веб-службы:

static void Main(string[] args)
{
   var client = new SayHelloClient();
   Console.WriteLine(client.HelloAsync("dotnet-svcutil").Result);
}

Запустите приложение с помощью команды запуска dotnet следующим образом:

запуск dotnet

0 голосов
/ 23 сентября 2018

Вы можете попытаться установить Поставщик ссылок на веб-службы Microsoft WCF для VS 2017. Вы можете выполнить часть «Как использовать расширение» для генерации кода клиента, а затем скопировать и вставить сгенерированный код вваш проект VS Code.

Ядро Dot Net - это все остальное, а не SOAP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...