我需要将SOAP请求XML反序列化为.Net请求对象,并将.Net响应对象序列化为SOAP响应XML。我需要使用与WCF完全相同的工作,使用相同的XML元素本地名称和名称空间URI。
.Net请求和响应类是使用SVCUTIL从WSDL生成的。
我已经查看了XmlSerializer类,它完成了大部分工作,但没有注意到某些特定于WCF的自定义属性,比如MessageBodyMemberAttribute。我还查看了DataContractSerializer,但是对于要使用的元素名称和名称空间有非常奇怪的想法。最后,我尝试了一个由SoapReflectionImporter生成的XmlTypeMapping的XmlSerializer;这似乎根本没有使用任何名称空间。
我宁愿怀疑我需要使用上述技术之一,但还有一些额外的微妙之处,我不知道。但也许有一种完全不同的方法?
欢迎所有建议。
答案 0 :(得分:1)
我很困惑你为什么要这样做。你能说清楚吗?
通过Reflector查看DataContractSerializerOperationFormatter和DataContractSerializerOperationBehavior的实现。它捕获消息格式化程序和序列化程序如何在WCF中进行互操作...