Вам нужно открыть клиентский брандмауэр для 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(!)