2010-12-21 62 views
2

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

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

我曾看过XmlSerializer类,它完成了大部分工作,但没有注意到某些WCF特定的自定义属性,如MessageBodyMemberAttribute。我也看了一下DataContractSerializer,但是对于使用什么元素名称和命名空间有着非常奇怪的想法。最后,我尝试使用由SoapReflectionImporter生成的XmlTypeMapping创建XmlSerializer;这似乎没有使用任何命名空间。

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

欢迎任何建议。

+1

你究竟在为什么达到目标,也许有一种解决这个问题的办法。 – 2011-01-18 06:33:12

回答

1

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

通过Reflector查看DataContractSerializerOperationFormatter和DataContractSerializerOperationBehavior的实现。它捕获了消息格式化器和序列化器如何在WCF内互操作......

+0

我有一个用于Microsoft XSLT转换的扩展对象,它允许访问一些也作为WCF操作公开的方法。 – PeteAC 2011-02-02 09:33:17