XMl命名空间前缀

时间:2014-04-27 08:53:02

标签: c# xml wcf namespaces

我需要从外部源获取SAML断言,然后将其直接传递到传出WCF / SOAP消息的wsse:Security头。我希望用它来解析,验证或做任何其他事情 - 只需将其视为XML“blob”。

我几乎可以通过创建一个像这样的新MessageHader对象来实现这个目的:

MessageHeader h = MessageHeader.CreateHeader("Security", 
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", 
MyXmlBlob);

但它然后使用该行中引用的安全命名空间作为“默认”命名空间 - 即它不使用别名/前缀,这会导致我的blob出现问题,因为这是由我写的控制!)具有该命名空间的特定前缀(在本例中为wsse:)。

我已经搜索并尝试了各种各样的变化,但到目前为止,我没有找到任何方法来说服Createheader使用前缀 - 是否有人知道是否存在任何此类方法?我知道我可以操作blob来在该级别添加一个新的xmlns定义,但我更愿意避免潜在的问题,并在可能的情况下保持“不受影响”。

0 个答案:

没有答案