2009-08-11 3 views
1

У меня есть клиент консольного приложения, который разговаривает с сервисом WCF, размещенным консольным приложением на другом сервере. Он использует проверку подлинности Windows с режимом безопасности = сообщениеWCF: олицетворение клиента

Он работает нормально, пока я не изменил сервис, чтобы выдавать полномочия учетных данных клиентов. Изменения, которые я сделать для того чтобы выполнить это:
1. Добавить <serviceAuthorization impersonateCallerForAllOperations="true" /> на поведение службы
2. Добавить [OperationBehavior(Impersonation = ImpersonationOption.Required)] в сигнатуре метода

Я тогда хозяйничать мою службу, и она работает в обычном режиме, все хорошо.

В моем клиенте единственным, что я сделать, это добавить:

ChannelFactory<IService1> channel = new ChannelFactory<IService1>(binding, endPoint); 
channel.Credentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation; 

Я затем запустить мой клиент и получает ошибку:

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

Есть ли что-то еще, что мне не хватает, что мне нужно сделать для конфигурации клиента?

ответ

0

Возможно, настройки вашего сервера не соответствуют контракту.

На стороне сервера:

  • устанавливается IIS для проверки подлинности Windows?
  • Установлен ли параметр web.config для проверки подлинности Windows?
  • ли web.config установлен олицетворения = истинным

Я думаю, что вам не хватает последнюю.

+0

@Tom На этом вы перекомпилировали своего клиента после изменения OperationBehaviour? – JTew

0

Я подозреваю, что вызов метода wcf вызывает исключение на стороне сервера. У вас есть какая-либо инфраструктура для захвата исключений или полезных нагрузок на стороне сервера? Если нет, тогда используйте что-то вроде wcf trace logging для записи трафика.

Это должно дать вам более значимую ошибку.

Если вы можете добавить это в свой вопрос, мы сможем узнать, что вызывает проблему.

Смежные вопросы