2016-03-03 33 views
0

我們的客戶希望使用下面的SOAP消息來調用我的WCF服務:如何將參數在WCF添加到SOAP體

<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>參數?

回答

0

我的第一本能是說一個人不能有超過一個SOAP Body元素的直接子元素。但the SOAP specification說這樣做很好。

雖然我不認爲基於[ServiceContract]的WCF可以這樣做。

+0

因爲SOAP規範說我們可以在SOAP Body元素下使用多個子元素,所以我不能強迫我的客戶不使用我的問題中描述的XML。所以我仍然在試圖解決問題。 – Fer