【问题标题】:WCF Service custom message inspectorWCF 服务自定义消息检查器
【发布时间】:2016-07-22 18:07:57
【问题描述】:

我构建了一个使用自定义用户名和密码身份验证的 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 请求。我怎样才能从我的客户那里做到这一点?

我知道我可能需要编写自己的自定义消息检查器,并希望获得一些关于如何构建的指示

【问题讨论】:

  • 你可以使用像fiddler这样的网络调试代理。
  • 最佳实践是using与WCF客户端一起使用:msdn.microsoft.com/en-us/library/aa355056(v=vs.110).aspx
  • 您也可以使用 SOAPUI,甚至 WCFTestClient(您可以在 WCFTestClient 中看到发送和接收的 XML)。
  • 我不能使用提琴手 - 在我的情况下,它只是不能使用上面的代码。提琴手只是不显示任何东西

标签: c# wcf xmlhttprequest


【解决方案1】:

上面的 cmets 中提到的选项很适合测试。如果你想要更健壮的东西可以包含在你的代码中,那么我认为你想要实现的是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

【讨论】:

  • 更容易使用 WCFTestClient 或 SOAPUI 或 Fiddler 进行测试,IMO。
  • SOAP UI 和 WCF 测试客户端仅适用于测试 - 同意。消息检查器选项可能有助于非开发环境 - 就故障排除而言。我想拥有所有的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 2012-02-16
  • 1970-01-01
相关资源
最近更新 更多