Estamos utilizando la característica ExceptionShielding de Enterprise Block 4.1 Exception Handling Application Block en combinación con un RoleProvider personalizado con nuestros servicios WCF.System.ServiceModel.Security.MessageSecurityException que ocurre bajo ExceptionShielding
Cuando el RoleProvider determina un usuario no está en un papel y devuelve falso del método IsInRole, la siguiente excepción está ocurriendo:
System.ServiceModel.Security.MessageSecurityException, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 No signature message parts were specified for messages with the '{XXX}' action.
WCF entonces aborta la RequestContext
de la operación de servicio, y los tiempos de cliente fuera.
He intentado la solución se hace referencia en este enlace sin éxito:
http://www.codeplex.com/entlib/Thread/View.aspx?ThreadId=25236
También quitamos el tipo System.Exception
excepción de la política de EHAB, teniendo efectivamente EHAB hacer nada para esta política, y esto no tiene efecto.
Lo único que impide esta excepción es comentar el atributo ExceptionShielding
en la implementación del servicio.
Cualquier corrección para este problema sería muy apreciada.