我构建了一个使用自定义用户名和密码身份验证的WCF服务,我正在使用以下代码从客户端应用程序对其进行测试:
using (ServiceReferenceClient.TestServiceClient tc = new ServiceReferenceClient.TestServiceClient())
{
tc.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
tc.ClientCredentials.UserName.UserName = "User1";
tc.ClientCredentials.UserName.Password = "Pwd1";
tc.ServiceMethod(param1, param2, param3);
}
它工作正常,但我需要看到发送到WCF服务和响应的实际SOAP请求。我怎么能从我的客户那里做到这一点?
我知道我可能需要编写自己的自定义消息检查器,并希望了解如何构建一个
答案 0 :(得分:1)
上述评论中提到的选项适用于测试。如果您想要在代码中包含更强大的内容,那么我认为您要实现的是WCF Message Inspector。
有关如何在客户端执行此操作的详细信息:
您可以检查或修改跨越的传入或传出消息 通过实现一个WCF客户端 System.ServiceModel.Dispatcher.IClientMessageInspector并插入 它进入客户端运行时。
https://msdn.microsoft.com/en-us/library/ms733786(v=vs.110).aspx
一个很好的例子:
https://weblogs.asp.net/paolopia/writing-a-wcf-message-inspector