2015-02-08 26 views
1

我有一個遠程終端不在我的控制之下,我沒有WSDL但我有SOAP消息的樣本。因爲我真的不想用剪刀和手工製作肥皂信封,所以我的想法是創建服務/數據合約,它將(一旦在WCF客戶端中使用)生成所需的SOAP請求並解析響應。我立刻遇到了一個問題,在事實的第一種方法,每個信封似乎包含在行動應對標題:從客戶端請求刪除操作(mustUnderstand)

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Header> 
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">urn:IService1/Auth</Action> 
    </s:Header> 
    <s:Body> 
    <Auth> 
     <login xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
     <Password i:nil="true" /> 
     <userName i:nil="true" /> 
     </login> 
    </Auth> 
    </s:Body> 
</s:Envelope> 

這打亂了其大汗反對我的消息被調用者。我嘗試了不同的配置方法(我使用web.config來配置模擬服務和客戶端),但似乎沒有刪除這個令人討厭的Action節點。任何方式來解決這個沒有做我不想做的事(手工操作XML)

回答

1

我的問題是解決我的移動XML序列化格式,如Force parameter as Service contract attribute中所述。當我切換到XML formater時,Action標題停止生成。但是,如果有人知道如何在DataContract類中刪除它,請隨時顯示,我相信它會很有用。