Вам нужно открыть клиентский брандмауэр для WS-AT для работы с WCF?

Я получаю следующую ошибку при попытке связаться с WCF -> WCF через Интернет с помощью SSL-сертификата. У меня проверено "Не требуется проверка подлинности" в конфигурации WS-AT на сервере.

Через несколько секунд я получаю следующее сообщение на своем клиенте и пытаюсь выяснить, что не так в моей конфигурации (или в понимании WS-AT).

Потоковая транзакция не может быть отменена. Произошло следующее исключение: Служба протокола WS-AtomicTransaction не смогла разархивировать потоковую транзакцию. Произошло следующее исключение: Получен ответ об ошибке с кодом CoordinatorRegistrationFailed. Причина сбоя заключается в следующем: службе протокола WS-AT не удалось зарегистрироваться у своего координатора. Соединение не может быть установлено.

Глядя на файл журнала на сервере, я нахожу ссылку на http://msdn.microsoft.com/en-us/library/aa702582(VS.90).aspx и следующее сообщение трассировки

Microsoft.Transactions.TransactionBridge.RegistrationCoordinatorFailed Отслеживается, если локальный TransactionManager не может зарегистрироваться в своем старшем TransactionManager из-за невозможности отправить сообщение.

Поэтому мне интересно... пытается ли сервер связаться с клиентом по другому каналу для соединения SSL, изначально установленного клиентом. Я почти уверен, что именно это он пытается сделать для меня, чтобы закончить с этим сообщением. Клиент - мой ноутбук (в настоящее время в Starbucks), поэтому нет никаких шансов на входящие соединения.

Так возможно ли использовать транзакции WS-AT, где только сервер имеет открытый брандмауэр? Предполагая, что это возможно - что мне нужно сделать, чтобы это сделать? Я нахожу очень мало информации о необходимой конфигурации - даже в моей большой книге по программированию WCF.


Бонус: вот несколько небольших советов для тех, кто пытается заставить работать WS-AT:

  • Если при попытке установить вкладку WS-AT вы не можете отобразить ее - и у вас установлена ​​операционная система x64 - убедитесь, что вы используете RegAsm.exe для x64: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe /codebase wsatui.dll
  • Если после установки WS-AT, настройки его для входящих подключений и перезапуска MCAT вы все равно получаете ошибки об отключенном протоколе, возможно, вы забыли перезапустить IIS(!)

0 ответов

Другие вопросы по тегам