WCF рамки, я хочу изменить формат ответа от S: конверт мыло: конверт, вот решение (URL ссылка):WCF, мыло 1,1 заменить префикс
blogs.msdn.com/b/carlosfigueira /archive/2010/06/13/changing-prefixes-in-xml-responses.aspx
однако мыло для поддержки кода 1.2, мое требование - поддерживать мыло 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. –