【问题标题】:Log Soap message in C#在 C# 中记录 Soap 消息
【发布时间】:2019-02-20 03:26:30
【问题描述】:

我有一个向 SOAP 服务发出请求的 C# 控制台程序。

此 SOAP 消息接口是使用 Microsoft.VSDesigner, Version 4.0.30319.42000. 生成的,步骤如下:

  1. 右键参考文献
  2. 选择添加服务参考
  3. 选择高级
  4. 添加网络参考
  5. 输入我正在使用的 URL 或服务
  6. 为服务命名
  7. 点击添加参考。

此时我已经生成了调用服务的代码。

这里是调用服务的片段:

[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.xxxxx.com/VerifyInsurance", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
[return: System.Xml.Serialization.XmlElementAttribute("CoverageResponseDocument", Namespace="http://www.xxxxx.com/CoverageVerification/")]

public CoverageResponseDocument VerifyInsurance([System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.xxxxx.com/CoverageVerification/")] CoverageRequest CoverageRequest) 
{
    object[] results = this.Invoke("VerifyInsurance", new object[] {
                    CoverageRequest});
    return ((CoverageResponseDocument)(results[0]));
}

我可以更改哪些内容才能看到发送和接收的 SOAP 消息的确切字符串?

通过更改代码或更改配置。

我是一名长期开发人员,但对 Visual Studio 不熟悉,因此我希望能使用我在屏幕上看到的术语得到答案。

【问题讨论】:

  • 您好 请告诉我您是否可以访问网络服务代码?您还可以使用 Fiddler - telerik.com/fiddler 来检查请求和响应!
  • 还有什么特别的理由使用“网络参考”而不是“服务参考”吗?
  • 我可以访问网络服务代码。它是用 wsdl.exe 程序引导的。我将研究使用服务参考。请详细说明这可能有什么帮助。

标签: c# soap-client


【解决方案1】:

您好,有几点需要注意(尽管我接受了我无法更改代码以记录请求和响应的事实,但以下是我检查过的其他几个选项,您可以尝试)-

  1. 使用诊断(跟踪)获取原始请求响应

我已经按照相同的步骤添加了服务参考并应用了诊断程序并能够在日志文件中记录原始请求响应 - 您可以阅读有关跟踪 here- 的信息

  1. 如果您可以访问您的网络服务代码,那么您可以编写 Soap 扩展。

所以 SOAPExtention 是

使用创建的 XML Web 服务的 SOAP 扩展的基类 ASP.NET。

扩展类提供处理原始请求和响应的细粒度细节。一种方法可以记录这些以跟踪日志文件供您检查。一个例子可以找到here -

  1. 另一种方法是在 Visual Studio 外部使用 fiddler 来监控 http 和 https 的流量

SO 中还有另一个线程在讨论相同的问题。请看一下。

Getting RAW Soap Data from a Web Reference Client running in ASP.net

下面的讨论更多的是使用 SOAP 代理。添加 Web 引用是引用客户端代理的旧方法。如果没有理由仅使用 Web 引用,则使用服务引用而不是 Web 引用。您可以在下面的线程中找到更多详细信息。

https://stackoverflow.com/questions/2158106/web-reference-vs-service-reference?answertab=active#tab-top

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多