我有一个奇怪的问题,在将 XMLElement 发送到 WCF 服务时,我似乎无法正确获取命名空间。
XMLElement 来自一个从磁盘加载的 XMLDocument,如下所示:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(new XmlTextReader("C:\\Temp\\Test.xml"));
XML 包含以下命名空间:
<Root ID="0bb2cc41-57d0-4fc7-93e9-4cbddc8f216b" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:somenamespace:2009.07.03">
但是,当我像这样使用 WCF 服务时
vsLightKlient.SendRequest(xmlDoc.DocumentElement);
我可以看到 WCF 服务只接收
<Root ID="8aa6d535-f448-47b6-b982-c4b9b50556aa" xmlns="urn:somenamespace:2009.07.03>
这是一个问题,因为我正在XMLDocument
使用额外的命名空间签署原始文件。移除多余的命名空间后,签名与我发送的不匹配,验证失败
我如何xmlDoc.DocumentElement
才能真正发送所有的命名空间?