WCF WebService с предупреждениями и InvalidOperationException - PullRequest
0 голосов
/ 03 июля 2018

В настоящее время я пытаюсь подключить свое приложение ASP-NET Core 2 к API Magento (WSDL v2), но продолжаю получать следующие ошибки:
* Не имеет значения, какой метод я вызываю, даже new PortTypeClient().loginAsync(username, password); выбрасывает его с этим случайным именем конечной точки salesOrderShipmentAddComment.

InvalidOperationException: операция «salesOrderShipmentAddComment» не может быть загружен, потому что он указывает стиль "rpc-style" в режиме "literal \", но использует контракт сообщения типы или System.ServiceModel.Channels.Message. Эта комбинация disallowed - укажите другое значение для стиля или используйте параметры кроме типов контрактов на сообщения или System.ServiceModel.Channels.Message.

Однако, используя SoapUI, почтальон или импортируя с фреймворком 4.6, он работает отлично. Используя Magento v1 API, он тоже работает, но я не хочу использовать эту версию.

Во время импорта в ядро ​​asp-net я также получаю эти предупреждения (импорт v1 не показывает никаких предупреждений): enter image description here

Я почти создаю новое приложение 4.6, размещая его отдельно для работы в качестве моста между моим приложением и Magento, даже если это вредит моей производительности и архитектуре.

Вот как я делаю импорт: enter image description here * Obs: в Data Type Options я также пытался проверить разные параметры и выбрать другие типы данных.

Всё могло бы помочь ...
Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 10 января 2019

Действительно, обновление следующих пакетов до версии 4.5.3, похоже, решает проблему:

System.ServiceModel.Duplex

System.ServiceModel.Http

System.ServiceModel.NetTcp

System.ServiceModel.Security

Похоже, версия этих пакетов 4.4.4 установлена ​​по умолчанию, при этом добавляется ссылка на службу WCF через VS 2017 15.9.4 UI

0 голосов
/ 11 февраля 2019

Просто обновите System.ServiceModel.Http до 4.5.3

0 голосов
/ 14 ноября 2018

У меня была такая же проблема. Убедитесь, что вы обновили свои пакеты Nuget до 4.5.3. После у меня работает правильно.

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