Сервис WCF SecurityNegotiationException

Я выполняю простой сервис на свой сервер с WCF; сервис размещается в (локальном) WebDev.WebServer.exe.

Когда я называю Сервис локальным, я получаю следующее исключение:

Необработанное исключение: Система. ServiceModel. Безопасность. SecurityNegotiationException: Безопасный канал не может быть открыт, потому что согласование безопасности с удаленной конечной точкой перестало работать. Это может быть должно отсутствовать или неправильно указало, что EndpointIdentity в EndpointAddress раньше создавал канал. Проверьте, что EndpointIdentity, указанный или подразумеваемый EndpointAddress правильно, определяет удаленную конечную точку.---> Система. ServiceModel. FaultException: сообщение с Действием 'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue' не может быть обработано в получателе, из-за несоответствия ContractFilter в EndpointDispatcher. Это может быть из-за любого несоответствием контракта (Действия, которым не соответствуют, между отправителем и получателем) или несоответствием привязки/безопасности между отправителем и получателем. Проверьте, что отправитель и получатель имеют тот же контракт и ту же привязку (включая требования к защите, например, сообщение, Транспорт, Ни один).

Вот мои два app.config файла от клиента и сервера. Я сделал app.config от клиента с svcutil-инструментом, таким образом, это должно быть правильно:

Клиент


    

        

    





    

    

    

        

        

    


Сервер


    

        

            

                

            

        

        

    






    

        

            

            

            

                

                

            

        

    





    

        

            

            

        

    


8
задан Peter Mortensen 31 July 2015 в 22:02
поделиться

2 ответа

Проблема была на сервере, я положил режим = «сообщение» и хорошо работает. Благодарю.

<security mode="None">  

<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />  

<message clientCredentialType="Windows" negotiateServiceCredential="true" establishSecurityContext="true" />  

</security> 
12
ответ дан 5 December 2019 в 10:41
поделиться

WCF очень мощный, но может быть кошмаром конфигурации. Вот некоторые потенциальные потенциалы:

  • Включите журналы Trace WCF, перезагрузите свой сценарий, а затем проверьте журналы с SVCTRACEViewer.exe
  • . Выясните, как далеко получает обмен сообщениями ...
    • I.e. Клиент образует запрос и отправляет его на сервер, который его отклоняет (то есть в нижних слоях WCF, прежде чем ваш собственный код обслуживания попал);
    • Или просьба остановилась в своих треках до этого .. Клиент никогда даже не отправляет запрос
  • http://schemas.xmlsoap.org/ws/2005/02/trust/rst/issue это сообщение, связанное с WS-Tokn Token, поэтому будет что-то происходит с аутентификацией
    • Ошибка подразумевает, что есть несоответствие конфигурации, но использование SVCUTIL должно быть, они выровнялись, как вы сказали
  • Клиентский привязка имеет сервер на « http: // localhost: 1634 / usuarioContexto.svc "
    • Я не вижу, что порт, указанный в конфигурации сервиса ... - это сервис, слушающий этот порт?
    • Если вы открываете браузер и привлечь его к этому URL, вы получаете страницу службы по умолчанию?
4
ответ дан 5 December 2019 в 10:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: