在wcf中验证消息头

时间:2016-09-29 21:26:05

标签: wcf wcf-security

我想验证soap自定义标头中的值以查看它们是否有效。我将针对外部服务验证它。 如果验证失败,我希望能够发回肥皂故障。 有人对如何做到这一点有任何建议吗? 我尝试通过实现IOperationInvoker但是当我在preinvoke中抛出异常时没有响应回来。

1 个答案:

答案 0 :(得分:1)

您可以使用Message Inspector

示例 - 关于您使用AfterReceiveRequest的服务:

object IDispatchMessageInspector.AfterReceiveRequest(ref System.ServiceModel.Channels.Message request, System.ServiceModel.IClientChannel channel, System.ServiceModel.InstanceContext instanceContext)
{
     // Retrieve Inbound Object from Request
     var header = request.Headers.GetHeader("XXXXX", "X");

     // evaluate header and throw FaultException if necessary

     return null;
}