我正在尝试使用Web服务,所以我在Visual Studio中添加了一个服务引用,它生成了一个带有类型对象(数据协定)的代理。
我面临的挑战是我想要通过渠道发送的数据已经被序列化为SOAP XML并包含所有SOAP头文件!有没有办法通过将SOAP XML转换为类型对象并让WCF自动序列化它来传输这个SOAP XML?
答案 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服务方法。