Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт, используя ConfigurationChannelFactory - PullRequest
0 голосов
/ 17 января 2019

Я хочу использовать внешний веб-сервис, используя MS Dynamics AX. Обычный способ сделать это - создать библиотеку классов C # со ссылкой на службу. Затем, в прежние времена, вы могли просто нажать кнопку «Развернуть на AX», и ваш dll был установлен и мог быть использован.

Сейчас:

Теперь мне нужно было реализовать протокол безопасности (TLS1.2) в этой библиотеке классов.

Теперь для TLS1.2 мне нужно было использовать .net Framework 4.7, и VS2010 не поддерживает это.

Итак, я закончил тем, что создал новую библиотеку классов в VS 2017 и развернул ее вручную в папках bin нашего AX.

Таким образом, мое решение состояло в том, чтобы добавить дополнительный класс в эту библиотеку классов, который устанавливает протокол безопасности перед вызовом методов службы из ссылки на службу. Все остальное похоже на старую библиотеку классов.

Проблема заключается в том, что я могу использовать свой пользовательский клиент в AX, но у меня появляется ошибка System.InvalidOperationException: Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт «Messaging.Messaging».

Вот что я создал: Мой проект .net использует ссылку на сервис и один простой класс, который я вызываю из AX: Project

Тогда вот как я хочу использовать эту услугу в классе. Я использовал ConfigurationChannelFactory, но все еще получал ошибку enpoint в AX. При использовании консольного приложения в .net оно работает отлично. Code

...