我正在这个链接:
http://es.w3support.net/index.php?db=so&id=665327
我这是我需要的一部分,我使用与SoapDocumentMethodAttribute和Invoke方法相同类型的代码,这是我的问题。
在链接中,它们显示如何使用前缀获取响应,并且可以工作,但是请求是什么?,我需要向客户端发送带有前缀的xml结构。
我尝试添加 XmlSerializerNamespaces xsn = new XmlSerializerNamespaces(); xsn.Add(“mes-root”,“CAP”);
在调用方法之前,但不起作用
我希望有人可以帮助我,我真的很沮丧
答案 0 :(得分:0)
首先,除非您使用.NET 2.0,否则您不应该使用ASMX Web服务或客户端进行任何新的开发。您应该使用“添加服务引用”,而不是“添加Web引用”。
其次,您链接的文章是XML Serialization - Missing Namespace Prefix at client end的翻译版本。
第三,请注意,提出该问题的人正在运行.NET 1.1,发布了错误的XML,并且从未实际报告过真正的问题。
最后,如果您的客户端需要特定的前缀,那么他们的代码中就会有一个致命的关键错误:这意味着他们实际上并没有使用XML进行通信。在XML中,前缀只是实际命名空间的别名。是否是前缀并不重要,更不用说实际前缀了。以下各项完全相同:
<root xmlns="somenamespace"/>
<a:root xmlns:a="somenamespace"/>
<b:root xmlns:b="somenamespace"/>
请注意,OP所遇到的实际问题是她运行的是.NET 1.1,它在处理XML时遇到了一些错误。这个问题与前缀毫无关系!