【问题标题】:Soap Message to C# ObjectSoap 消息到 C# 对象
【发布时间】:2018-10-19 05:46:44
【问题描述】:

我有一个 WSDL 文件并使用相同的代理服务引用和生成各种对象的类。 使用生成文件 (reference.cs) 中的接口实现的 WCF 服务在使用 SOAP UI 通过一些肥皂消息触发服务时运行良好。

现在我有各种肥皂消息,需要使用单元测试或一些控制台应用程序来测试服务功能。为此,我需要将这些肥皂消息转换为实际的 .NET 对象,以便我可以使用该对象调用服务函数或该函数的某些部分(通常在调用时接收到服务操作)

尝试了不同的方法,如 TypeConverter、SoapFormatter 等来对 soap 消息进行反序列化,但没有帮助,因为 soap 消息包含大量命名空间和嵌套对象层次结构。

如何做到这一点,或者任何人都可以给出想法,什么方法在内部将肥皂消息转换为作为函数参数的实际对象??

【问题讨论】:

  • 使用reference.cs中的类型即可。将测试项目的引用添加到包含服务引用的任何程序集。
  • 这似乎是XY problem - 请解释一下为什么从服务参考生成的类不能提供您想要的?

标签: c# wcf soap


【解决方案1】:

我过去所做的实际上是在 SOAPUI 中导入 WSDL 及其所有服务,并使用格式化的 SOAP 方法获得干净的服务,然后用 C#、java 或任何语言创建模型轻而易举。

SoapUI

  1. 创建空项目,

  2. 将 WSDL 添加到空项目(提供路径),

  3. 获取正确的 SOAP 结构(请求)đ
  4. 创建模型

【讨论】:

  • 不,我不想创建肥皂消息。 Soap 消息模型已经可用。我需要将它们转换为实际对象以进行单元测试。
  • 啊,好吧,当时没听懂。但我找到了从模型jsonschema2pojo.org 创建实际对象的在线工具,也许它会有所帮助。
猜你喜欢
  • 2017-03-01
  • 2017-07-11
  • 1970-01-01
  • 2011-11-16
  • 2019-02-20
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多