Невозможно добавить веб-ссылку WSDL в проект .NET в Visual Studio 2012 - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь обновить пару старых инструментов интеграции, которые я разработал для взаимодействия с NetSuite, до последней конечной точки веб-служб, которая находится по следующему адресу:

https://webservices.netsuite.com/wsdl/v2018_1_0/netsuite.wsdl

Я обычно путешествую, чтобы добавить WSDL:

  1. Проект
  2. Добавить ссылку на обслуживание
  3. Дополнительно
  4. ДобавитьВеб-ссылка
  5. Введите URL-адрес WSDL в поле "Адрес"

Однако я последовательно получаю следующее сообщение:

Произошла ошибка при загрузке 'https://webservices.netsuite.com/wsdl/v2018_1_0/netsuite.wsdl/_vti_bin/ListData.svc/$metadata'. Запрос был прерван: не удалось создать безопасный канал SSL / TLS.

Я без проблем загрузил файл WSDL из браузера и попытался использовать wsdl.exe, оба сфайл и URL.С URL я получаю то же сообщение, что и выше.С файлом я получаю следующее:

Ошибка: невозможно импортировать привязку 'NetSuiteBinding' из пространства имен 'urn: platform_2018_1.webservices.netsuite.com'.

  • Не удаетсядля импорта операции 'логин'.
  • Элемент 'urn: messages_2018_1.platform.webservices.netsuite.com: applicationInfo' отсутствует.

Некоторые предложения, которые я имеюобнаружил, что включает в себя загрузку всех файлов XSD, перечисленных в WSDL, в качестве импорта и перечисление их при запуске wsdl.exe.Это приводит к другой ошибке:

Ошибка: невозможно импортировать привязку 'NetSuiteBinding' из пространства имен 'urn: platform_2018_1.webservices.netsuite.com'.

  • Невозможно выполнитьОперация импорта 'login'.
  • Тип данных 'urn: types.core_2018_1.platform.webservices.netsuite.com: RecordType' отсутствует.

Я подумал, может быть, этоЭто была проблема TLS, и, возможно, моя машина не использовала правильную версию, но я просмотрел и обновил параметры IE и реестра, чтобы принудительно использовать TLS 1.2 без положительных результатов.Я также подумал, что может быть проблема с моей машиной, поэтому я отправил файлы и wsdl.exe со своей машины Win 7 Pro на машину Win 10 Pro.Те же результаты там.

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

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Хорошо, думаю, я понял это.Я полагаю, что, поскольку NetSuite предпринял попытку принудительного использования TLS 1.2, это и стало причиной.Я установил Visual Studio 2017 и сделал тестовое консольное приложение, а затем попытался отключить веб-сервисы.Это удалось.Итак, мне остается предположить, что VS 2012 не может обмениваться данными с использованием TLS 1.2, что приводит к сбою попыток создания веб-служб NetSuite, в то время как VS 2017 CAN использует TLS 1.2, поэтому это удалось.Думаю, мне нужно перенести все мои проекты на VS 2017 и работать с этим с этого момента.

0 голосов
/ 08 июня 2018

Какую версию .net использует ваш проект?Tls 1.2 не был доступен по умолчанию до версии .net 4.6.1.

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