WCF フレームワーク、応答形式を s:envelope から soap:envelop に変更したいのですが、ここに解決策があります (URL リンク):
blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changeing-prefixes-in-xml-responses.aspx
ただし、コードは SOAP 1.2 をサポートしています。私の要件は、正しく動作しない SOAP 1.1 をサポートすることです。以下のコードを変更しました: from (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" },
};
to (BasicHttpBinding)
Dictionary<string, string> namespaceToPrefixMapping = new Dictionary<string, string>
{
{ "http://schemas.xmlsoap.org/soap/envelope/", "soap" },
{ "http://www.w3.org/2005/08/addressing", "soap" },
};
したがって、クライアントは以下のメッセージで応答します。
クライアントとサービスのバインディングが一致していない可能性があります。
コードを続行するにはどうすればよいですか?