当我拥有的所有数据都是SOAP XML格式时,使用公开类型对象的Web服务的最佳方法是什么?

时间:2014-06-16 14:18:13

标签: c# xml web-services wcf soap

我正在尝试使用Web服务,所以我在Visual Studio中添加了一个服务引用,它生成了一个带有类型对象(数据协定)的代理。

我面临的挑战是我想要通过渠道发送的数据已经被序列化为SOAP XML并包含所有SOAP头文件!有没有办法通过将SOAP XML转换为类型对象并让WCF自动序列化它来传输这个SOAP XML?

1 个答案:

答案 0 :(得分:0)

假设您的序列化XML来自与您在visual studio中添加服务引用的Web服务相同的Web服务,您应该能够使用XmlSerializer将XML反序列化为Web服务引用中的类型化对象。

或者,您可以在visual studio中创建Web引用,以便它不会创建键入的对象。有两种类型的引用,服务引用和Web引用。一个或另一个(不记得是哪个)应该允许你使用xml而不是类型对象来操作web服务。

再一次,您可以尝试使用SoapHttpClientProtocol“http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soaphttpclientprotocol(v=vs.110).aspx”自己调用它(这是类型客户端的驱动程序)。它有像BeginInvoke这样的方法,允许您按名称等调用Web服务方法。