2012-07-17 2 views
0

я разработать режим использования ФОС сообщения безопасности приложения:Протокол безопасности не может проверить входящее сообщение?

  <security mode="Message">      
<message clientCredentialType="UserName" negotiateServiceCredential="true"/> 
</security> 

это работать на локальной машине хорошо, но когда я запустить его на компьютер другого это notifice ошибки:

The security protocol cannot verify the incoming message

использования трассировку я вижу :

The security timestamp is invalid because its creation time ('2012-07-17T21:08:43.211Z') is in the future. Current time is '2012-07-17T07:08:48.769Z' and allowed clock skew is '00:05:00'.

что это проблема? спасибо

+3

Contribute в создании сообщества (Нулевой прием Удручает) тем временем [проверить это: увеличение перекоса времени] (http://social.msdn.microsoft.com/forums/en-US/wcf/thread/c3bdb91c-f3e3-4670-b9b9-fe908f0595f2 /) – V4Vendetta

+0

есть. я могу сделать лучше :) –

+1

И когда вы хотите начать с этого? – LPL

ответ

0

Возможна одна опция (если вам не нужна отметка времени) - Вы можете отключить добавление отметки времени к заголовкам безопасности в вашем запросе, а WCF не ожидает этого в ответе. Код взят из this ссылки

// *** Don't include TimeStamp header - so server won't expect it back 
// *** This allows results returned without any Soap Headers 
BindingElementCollection elements = client.Endpoint.Binding.CreateBindingElements(); 
elements.Find<SecurityBindingElement>().IncludeTimestamp = false; 
client.Endpoint.Binding = new CustomBinding(elements); 
Смежные вопросы