在C#客户端中调用SOAP Web服务

时间:2014-02-03 23:17:11

标签: c# wcf web-services c#-4.0 soap

我有一个SOAP Web服务可以在我的C#应用​​程序中调用和使用。此网络服务 asmxsvc

我知道这项服务的WSDL链接。

另外我知道 SOAP HEADER 应该采用以下格式:

<soapenv:Header>
  <wsse:Security soap:mustUnderstand="1" 
         xmlns:wsse="http://abc.org/wss/20XX/CC/qwerty.xsd" 
   xmlns="http://abc.org/wss/20XX/XX/oasis-20XXXX-wss-wssecurity-secext-1.0.xsd" 
   xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="soap">
    <wsse:UsernameToken>
      <wsse:Username>********</wsse:Username>
      <wsse:Password>********</wsse:Password>
    </wsse:UsernameToken>
  </wsse:Security>
</soapenv:Header>

我知道需要传递的具体UsernamePassword值。

考虑到这一切,这就是我到目前为止所做的:

  1. 将WSDL作为服务引用添加到我的项目中。
  2. 我可以在编码时访问所有服务功能并创建请求对象。
  3. 但是我的调用失败,并且在超时时没有端点错误的监听器。

    我的问题:

    1。我没有专门创建SOAP标头。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可能希望启用WCF跟踪功能,该功能提供了一种内置方法来监视与WCF服务之间的通信。对于测试和调试环境,请配置信息或详细活动跟踪并启用消息日志记录。在最初部署和测试新服务或向现有服务添加新操作和/或通信绑定时,活动跟踪和消息记录的组合应该证明是有益的。

以下链接提供了一个很好的概述:
http://msdn.microsoft.com/en-us/library/ms733025.aspx
http://msdn.microsoft.com/en-us/library/aa702726.aspx

此致