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

本文关键字:类型化 对象 web 服务 是什么 方式 最佳 数据 拥有 格式 XML | 更新日期: 2023-09-27 18:08:53

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

我面临的挑战是,我想要通过通道发送的数据已经序列化为SOAP XML,并且包含所有SOAP标头!!是否有一种方法可以通过将SOAP XML转换为类型化对象并让WCF自动序列化来传输该SOAP XML ?

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

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

可以选择,你可以在visual studio中创建你的web引用,这样它就不会创建类型化对象。有两种类型的引用:Service Reference和Web Reference。其中一个(不记得是哪个了)应该允许你用xml而不是类型化对象来操作web服务。

同样,您可以尝试使用SoapHttpClientProtocol "http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soaphttpclientprotocol(v=vs.110).aspx"自己调用它(这是类型化客户端的派生)。它有像BeginInvoke这样的方法,允许你通过名称调用web服务方法等