我正在使用自定义错误合同处理WCF服务。 我需要使用命名空间和前缀构建节,如下所示
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>Some Fault</faultstring>
<detail>
<wor:invalidMessageFault xmlns:wor="somenamespace">
<faultCode>001</faultCode>
<faultText>some fault</faultText>
<faultReference>12345</faultReference>
</wor:invalidMessageFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
到目前为止,我可以设法在没有前缀的情况下构建自定义错误。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>Some Fault</faultstring>
<detail>
<invalidMessageFault xmlns="somenamespace">
<faultCode>001</faultCode>
<faultText>some fault</faultText>
<faultReference>12345</faultReference>
</invalidMessageFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
我无法访问序列化程序作为故障消息。它由WCF序列化。 我无法将XDocument传递给Fault Exception。
在这里找到相同的问题,但找不到结果。 How to serialize an object to a raw XML 如何构建XML节点以传递到Fault?有没有办法在Fault Exception细节中构造名称空间前缀?