如何在 WCF 中向 SOAP 正文添加参数



我们的客户希望使用以下 soap 消息来调用我的 WCF 服务:

<soapenv:Envelope .....>
<soapenv:Header />
<soapenv:Body>
  <st:myExtraParam>str ex</st:myExtraParam>
  <st:MyMethod>
    <st:myfuncParam>func str</st:myfuncParam> 
  </st:MyMethod>
  ....
  ....
</soapenv:Body>
</soapenv:Envelope>

我创建了如下所示的服务合同:

[ServiceContract]
public interface IMyService
{
   [OperationContractAttribute]
   public ResponseObj MyMethod(string myfuncParam)
}

现在,如何启用功能标签上方<st:myExtraParam>param str</st:myExtraParam>参数?

我的第一直觉是说,SOAP Body 元素的直接子元素不能超过一个。但是 SOAP 规范说这样做是可以的。

不过,我不认为基于 [ServiceContract] 的 WCF 可以做到这一点。

最新更新