Мой веб-справочный файл WCF из do tnet -svcutil работает неправильно в моем net core api проекте - PullRequest
0 голосов
/ 21 января 2020

Отказ от ответственности Возможно, я неправильно генерирую файл кода прокси веб-службы с помощью do tnet -svcutil или, возможно, веб-служба, которую я пытаюсь вызвать, не совместима с моим Net основным проектом?

Проблема - Теперь, когда проблема заключается в проблеме аутентификации (сообщение об отказе в доступе) при подключении к веб-службе через код Visual Studio (Angular site /.Net Core API) бэкэнд) Хотелось бы быть уверенным, поскольку файл кода, который я генерирую с помощью do tnet -svcutil, имеет параметры другого метода, чем код, сгенерированный с помощью проекта. Net Framework в Visual Studio 2019. Два разных файла имеют одинаковые методы, но разные параметры. пример ниже.

Вопрос - Сгенерировал ли я NOT файл do tnet -svcutil в качестве веб-ссылки, как я это делал в Visual Studio или на стороне сервера несовместим с Net Core? Должны ли методы, которые я могу вызвать из 2 сгенерированных файлов (VS и do tnet -svcutil), быть одинаковыми? Если да, то я пропустил некоторые параметры при запуске do tnet -svcutil для генерации моего файла (например, -edb, который включает привязку данных)?

Обновление Я не Кажется, есть какие-то проблемы при создании файла wcf с помощью консольного приложения. Net Framework в Visual Studio. Но если я создаю консольное приложение. Net Core в VS '19 и пытаюсь добавить ссылку на службу, я вижу те же предупреждения от do tnet -svcutil. Означает ли это, что веб-сервис, предлагаемый этими клиентами, несовместим с. Net Базовыми проектами?

ex. тех же методов, но с разными параметрами из двух сгенерированных файлов

webService.AddClaimAsync(new AddClaimRequest(params)); //dotnet-svcutil
webService.AddClaimAsync(claimObj, clientId, otherParam); // Visual Studio 

Вот ссылка wsdl: https://testws.verusllc.com/trust/WebServices/ACSWebServices.asmx?WSDL

Вот команда, которую я делаю, чтобы сделать tnet -svcutil для создания прокси-файла AcsService.cs.

> do tnet -svcutil --outputDir WebServices / Development / Verus / ACS --outputFile AcsService https://testws.verusllc.com/trust/WebServices/ACSWebServices.asmx?WSDL

и в Visual Studio 2019 я запускаю его для создания веб-ссылки

в обозревателе решений щелкните правой кнопкой мыши -> добавить -> справочник по службам -> расширенный -> добавить веб-ссылку

Единственное существенное отличие заключается в do tnet -svcutil. Я вижу эти предупреждения ниже, когда файл AcsService.cs генерируется, но файл все еще генерируется! Так что я не уверен, что это проблема?

Приложение начальной загрузки ... Попытка загрузки метаданных из 'https://testws.verusllc.com/trust/WebServices/ACSWebServices.asmx?WSDL' с использованием WS-Metadata Exchange и HttpGet. Предупреждение: Невозможно импортировать wsdl: binding Подробно: требуемый элемент расширения WSDL 'binding' из пространства имен 'http://schemas.xmlsoap.org/wsdl/http/' не обработан. XPath to Error Источник: // wsdl: Definitions [@ targetNamespace = 'VerusWebServices'] / wsdl: binding [@ name = 'WebserviceACSHttpGet'] Предупреждение. Невозможно импортировать wsdl: порт. Подробно: XPath to Error Source: // wsdl: определения [ @ targetNamespace = 'VerusWebServices'] / wsdl: service [@ name = 'WebserviceACS'] / wsdl: port [@ name = 'WebserviceACSHttpGet'] Предупреждение: невозможно импортировать wsdl: binding Подробно: обязательный элемент расширения WSDL 'binding' из пространства имен 'http://schemas.xmlsoap.org/wsdl/http/' не было обработано. XPath to Error Источник: // wsdl: Definitions [@ targetNamespace = 'VerusWebServices'] / wsdl: binding [@ name = 'WebserviceACSHttpPost'] Предупреждение. Невозможно импортировать wsdl: порт. Подробно: XPath to Error Source: // wsdl: определения [ @ targetNamespace = 'VerusWebServices'] / wsdl: service [@ name = 'WebserviceACS'] / wsdl: port [@ name = 'WebserviceACSHttpPost'] Создание файлов ... C: \ Users \ myusername \ AUTO2 \ Auto2.API \ WebServices \ Development \ Verus \ ACS \ AcsService.cs

Поэтому, когда я go использую файл, сгенерированный с помощью do tnet -svcutil, в моем проекте , который имеет разные сигнатуры методов, я не уверен, что это может быть причиной сообщения об ошибке «Отказано в доступе» при попытке запустить один из методов из веб-службы ... Я проверил имя пользователя / пароль несколько раз раз и может войти в свой веб-сайт с комбо пользователя / пароля, так что я не думаю, что это плохое имя пользователя / пароль. Я также связался с ними, и они сказали, что сказали создать файл, как я это делал в Visual Studio. Я спросил о do tnet -svcutil, и они даже не слышали об этом. Так что они не могли помочь!

...