WCF框架,我想改變從s響應格式:信封肥皂:信封,這裏是解決方案(URL鏈接):WCF,SOAP 1.1替換前綴
blogs.msdn.com/b/carlosfigueira /archive/2010/06/13/changing-prefixes-in-xml-responses.aspx
但是,代碼支持soap 1.2,我的要求是支持soap 1.1,它不能正常工作。我改變代碼如下:從(WsHttpBinding的)
Dictionary<string, string> namespaceToPrefixMapping = new Dictionary<string, string>
{
{ "http://www.w3.org/2003/05/soap-envelope", "SOAP12-ENV" },
{ "http://www.w3.org/2005/08/addressing", "SOAP12-ADDR" },
};
至(basicHttpBinding的)
Dictionary<string, string> namespaceToPrefixMapping = new Dictionary<string, string>
{
{ "http://schemas.xmlsoap.org/soap/envelope/", "soap" },
{ "http://www.w3.org/2005/08/addressing", "soap" },
};
所以客戶端將響應與以下消息:
客戶端和服務綁定可能不匹配。
我該如何繼續使用我的代碼?
不應該有必要更改前綴。對於任何理解XML的客戶端而言,前綴都不重要。前綴並不重要 - 只有前綴表示的_namespace_很重要。如果你的客戶需要一個特定的前綴,那麼它是非常糟糕的,應該爲自己感到羞恥。 –
但是要求是前綴,我也不想改變前綴 – flighting
然後你誤解了需求,或者你的客戶誤解了XML。 –