在WCF服务中获取Soap信封内容

c# web-services wcf soap

34 观看

1回复

11 作者的声誉

当(我的)Wcf服务中出现异常时,如何获取Soap信封的内容?

在契约中,我有一个简单的Web服务,当服务捕获异常时,我希望通过该服务向我发送一封带有肥皂信封的电子邮件。

- 是)我有的 -

我创建了一个简单的Web服务:只有两个文件+ Web.Config

IHelloService.cs文件:

[ServiceContract(Namespace="http://www.example.com/")]
public interface IHelloService
{
  [OperationContract]
  string SayHelloTo(string name);
}

和HelloService.svc文件:

public class HelloService : IHelloService
{
   public HelloService() { }
   public string SayHelloTo(string name)
   {
        // Imagine I want to do something with all names with only 3 characters
        if(!string.IsNullOrEmpty(name))
        {
            if (name.Length == 3)
            {
                // Here, I want to have the soap envelope content passed to Ws
                // to do something with it, send it to someone, log it to file ...
            }
        }
     return "Hello " + name;         
   }
}

配置文件:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

- 结束 -

作者: Gauss 的来源 发布者: 2018 年 10 月 16 日

回应 1


0

49 作者的声誉

您可以在WCF服务上启用跟踪。这有助于诊断服务内容的问题。 配置跟踪

作者: D Jordan 发布者: 2018 年 10 月 16 日
32x32