Tengo un servicio WCF que se puede ejecutar como una aplicación de consola y un servicio de Windows. He copiado recientemente a la aplicación de consola a un servidor W2K3 con los siguientes parámetros de seguridad:WCF Seguridad en un servicio de Windows
<wsHttpBinding>
<binding name="ServiceBinding_Security" transactionFlow="true" >
<security mode="TransportWithMessageCredential" >
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="Common.CustomUserNameValidator, Common" />
</serviceCredentials>
Security funciona bien y sin problemas. Tengo exactamente el mismo código, pero se ejecuta en un servicio de Windows y me sale el siguiente error cuando trato de llamar a cualquiera de los métodos de un cliente:
System.ServiceModel.Security.MessageSecurityException was unhandled
Message="An unsecured or incorrectly secured fault was received from
the other party. See the inner FaultException for the fault code and detail."
Source="mscorlib"
StackTrace:
Server stack trace:
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
......
(lots of stacktrace info - not very useful)
InnerException: System.ServiceModel.FaultException
Message="An error occurred when verifying security for the message."
La excepción me dice nada. Supongo que tiene algo que ver con el acceso a los recursos del sistema del Servicio de Windows. Intenté ejecutarlo con la misma cuenta que la aplicación de la consola, pero no tuve suerte. ¿Alguien tiene alguna idea?
Ouch esto me dio un dolor de cabeza ... – James
Info de seguridad es: \t \t \t \t \t \t \t \t –
Alphonso