Megatec Integration Service:Часто задаваемые вопросы и технические ошибки

Материал из Megatec
Перейти к: навигация, поиск

Статья находится на стадии разработки.
Версия статьи от 19-02-2015.

Введение

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

Список технических ошибок и методов их решения

Предупреждение


Прежде чем искать решение проблемы, попробуйте ликвидировать проблему с помощью MIS Assistant, который 
запускается при старте плагина в случае обнаружения какой-либо проблемы.



System.ServiceModel.ProtocolException: Сделана попытка создания канала к службе, не поддерживающей режим .Net Framing. Возможно, идет процесс обнаружения конечных точек HTTP. ---> System.IO.InvalidDataException: Ожидался тип записи "PreambleAck", найден "72".
  • 1) Если введен адрес сервиса в формате ip-адреса net.tcp://192.168.1.58:4242/... и т.д., то попробуйте ввести название машины (Панель управления\Все элементы панели управления\Система) включая название домена вместо ip-адреса: net.tcp://test:4242/... и т.д.

  • 2) Если описанный выше способ не разрешил проблему, то смените порт net.tcp для приложения в IIS на 9000:*


HTTP status 405: Method Not Allowed

  • Причина. Если при загрузке какой либо информации из сервиса внешней системы возникает данная ошибка, скорее всего администраторами для вашей учетной записи был включен принудительный proxy.


System.ServiceModel.CommunicationException: Диспетчеру Transport Manager не удалось послушать предоставленный URI с помощью службы NetTcpPortSharing
  • Причина. Данная ошибка вызвана тем, что на вашем компьютере повреждена служба NetTcpPortSharing.
  • Решение. Для переустановки необходимо, запустить cmd с правами администратора и выполнить данную команду: c:\Windows\Microsoft.NET\Framework64\v4.0.30319\ServiceModelReg.exe -r для х64

C:\Windows\Microsoft.NET\Framework\v4.0.30319>ServiceModelReg.exe -r для х86


System.ServiceModel.Security.SecurityNegotiationException: Сертификат X.509 CN=WCFServer не принадлежит хранилищу "Доверенные лица". ---> System.IdentityModel.Tokens.SecurityTokenValidationException: Сертификат X.509 CN=WCFServer не принадлежит хранилищу "Доверенные лица".
  • Причина. Данная ошибка возникает в том случае, если сертификат установленный на компьютере с IIS не получил прав работать с данными пользователем.
  • Решение. Для решения данной проблемы надо установить сертификат для учетной записи компьютера (нажать Пуск → Выполнить → написать mmc → нажать сочетание клавиш CTRL+M → Сертификаты) и дать права сертификату для работы со всеми пользователями, нажав правой кнопкой по установленному сертификату в папке Личное и выбрав пункт - Все задачиУправление закрытыми ключами... добавить полные права для типов пользователей - Все или everybody (зависит от языка windows) , после чего скопировать его в папку Доверенные лица. Если же данный метод не помогает, то проверьте, что компьютер с IIS знает учетную запись пользователя, на которой стоит MIS, если нет, то установите сертификат и на машину с MIS


Прослушивание на net.tcp://test:4242/mis/mts/DictionaryService.svc/UserName не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP. Подробнее см. в описании InnerException (если имеется).

  • Удалено приложение в IIS или файла Web.config нет в приложении.


Could not connect to net.tcp://test:4242/mis/mts/DictionaryService.svc/UserName. TCP error code 10060.

  • Причина. Данная ошибка возникает, поскольку закрыт порт net.tcp под которым работает приложение.
  • Решение. Вашему системному администратору необходимо открыть порт net.tcp ( в Брандмауэр Windows/фаервол) под которым работают приложения на машине клиента и/или IIS(сервера).