2012-06-13 39 views
2

雖然從我的Web應用程序,WCF響應我得到調用是:在WCF響應更改前綴

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Header /> 
    <s:Body> 
    <getSOAPDataResponse xmlns="http://localhost/WebServices"> 
    <getSOAPDataResult> INFORMATION </getSOAPDataResult> 
    </getSOAPDataResponse> 
    </s:Body> 
</s:Envelope> 

Web應用程序是很舊,有一些硬編碼的東西,看起來爲「肥皂」作爲前綴作爲迴應。 以前使用過Web服務,但現在Web服務已被遷移到WCF服務。

從WCF預期的反應是這樣的:

<Soap:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
<Soap:Header /> 
<Soap:Body> 
    <getSOAPDataResponse xmlns="http://localhost/WebServices"> 
    <getSOAPDataResult> INFORMATION </getSOAPDataResult> 
    </getSOAPDataResponse> 
</Soap:Body> 
</Soap:Envelope> 

所以我需要改變WCF迴應前綴「S」爲「肥皂」。如何做呢。任何幫助將不勝感激。

在此先感謝。

回答

0

This blog post地址您的具體問題。您基本上需要創建一個自定義消息編碼器。但請注意,如果您使用WsHttpBinding來保護郵件安全,郵件中的方法將不起作用。如果您使用的是BasicHttpBinding,請參考帖子末尾的註釋(您需要確保您正在替換正確的文本,因爲基本綁定使用SOAP 1.1,WS綁定使用SOAP 1.2)。