【问题标题】:calling a webservice and deserializing soap without a wsdl在没有 wsdl 的情况下调用 web 服务和反序列化 soap
【发布时间】:2011-11-12 16:31:07
【问题描述】:

我有一个供应商似乎没有 wsdl,或者不愿意或不知道如何提供它。他们有许多 Web 服务(从技术上讲,它们是返回肥皂消息的 JSP),我需要使用其中的 10-15 个来完成我的工作。

由于没有 WSDL,我不能使用“添加 Web 引用”功能来生成代理类等。我已经通过使用WebClient 进行调用并将响应作为字符串返回来解决这个问题,但现在我需要将响应反序列化到客户端类中。

我已经创建了 c# 类来匹配返回的 xml,但是我不确定如何从 SOAP 反序列化,因为有太多的 xml 噪音。我可以剥离 SOAP 信封标签,然后使用 XML 序列化程序反序列化为 List<SomeType>,但这似乎很脏。有更好的方法吗?

【问题讨论】:

    标签: c# web-services soap wsdl


    【解决方案1】:

    您是否尝试过使用 SoapFormatter.Deserialize() 来反序列化响应。如果是这样,这将是有帮助的。 http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.soap.soapformatter.deserialize(v=vs.71).aspx

    【讨论】:

      【解决方案2】:

      我发表了一篇文章,详细介绍了如何反序列化复杂的 xml。

      这里是链接:http://blog.impact-works.com/2011/06/30/how-to-serializedeserialize-complex-xml-in-asp-net-c/

      希望对你有帮助

      【讨论】:

      • 这行得通。我也必须去掉肥皂头,但属性允许我正确反序列化 xml
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      相关资源
      最近更新 更多