如何在SOAP消息中自定义操作参数外观?

时间:2013-09-11 13:41:46

标签: wcf soap

我有操作string GetData(DataRequest request)的WCF服务。 当我调用它时,请求SOAP消息是这样的:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  ...
  <s:Body ...>
    <GetData xmlns="http://...">
      <request>
        ...
      </request>
    </GetData>
  </s:Body>
</s:Envelope>

我想自定义request XML元素而不重命名我的操作参数(使用某些属性等)。有没有办法做到这一点?得到这样的东西:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  ...
  <s:Body ...>
    <GetData xmlns="http://...">
      <myRequest>
        ...
      </myRequest>
    </GetData>
  </s:Body>
</s:Envelope>

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

属性MessageParameter可用于实现所需的外观:

string GetData([MessageParameter(Name = "myRequest")] DataRequest request)