Я получаю следующую ошибку при попытке связаться с WCF -> WCF через Интернет с помощью SSL-сертификата. У меня проверено «Не требуется проверка подлинности» в конфигурации WS-AT на сервере.
Через несколько секунд я получаю следующее сообщение на своем клиенте и пытаюсь выяснить, что не так в моей конфигурации (или в понимании WS-AT).
Потоковая транзакция не может быть
unmarshaled. Следующее исключение
произошло: 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 - убедитесь, что вы используете x64 версию RegAsm.exe :
C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ RegAsm.exe / codebase wsatui.dll
- Если после установки WS-AT, настройки его для входящих подключений и перезапуска MCAT вы все равно получаете ошибки об отключенном протоколе, возможно, вы забыли перезапустить IIS (!)