完全按照WCF进行序列化和反序列化请求和响应

时间:2010-12-21 11:08:38

标签: wcf serialization soap

我需要将SOAP请求XML反序列化为.Net请求对象,并将.Net响应对象序列化为SOAP响应XML。我需要使用与WCF完全相同的工作,使用相同的XML元素本地名称和名称空间URI。

.Net请求和响应类是使用SVCUTIL从WSDL生成的。

我已经查看了XmlSerializer类,它完成了大部分工作,但没有注意到某些特定于WCF的自定义属性,比如MessageBodyMemberAttribute。我还查看了DataContractSerializer,但是对于要使用的元素名称和名称空间有非常奇怪的想法。最后,我尝试了一个由SoapReflectionImporter生成的XmlTypeMapping的XmlSerializer;这似乎根本没有使用任何名称空间。

我宁愿怀疑我需要使用上述技术之一,但还有一些额外的微妙之处,我不知道。但也许有一种完全不同的方法?

欢迎所有建议。

1 个答案:

答案 0 :(得分:1)

我很困惑你为什么要这样做。你能说清楚吗?

通过Reflector查看DataContractSerializerOperationFormatter和DataContractSerializerOperationBehavior的实现。它捕获消息格式化程序和序列化程序如何在WCF中进行互​​操作...