【问题标题】:SOAP Request / Response Comparison ToolSOAP 请求/响应比较工具
【发布时间】:2013-08-03 14:46:19
【问题描述】:

通常,企业应用程序会使用许多 Web 服务。这些正在使用的 Web 服务中的一些很可能每个月都会升级到新版本。在消费新的网络服务之前,消费者必须对旧服务和新服务之间的变化进行彻底的分析,这将构成影响评估的基础。

我遇到过比较 WSDL 的工具,但是应用程序使用的某些服务可能非常庞大,并且 WSDL 可能有超过 50 个操作。消费应用程序可能正在使用 10 个操作。通过使用 WSDL 比较器,识别修改的元素是否是所使用的任何操作的一部分可能有点乏味。为了进行这样的分析,我通常使用 SOAP UI 为每个操作生成请求和响应,并使用文本比较工具来识别差异。

当提供 2 个 WSDL 作为输入时,是否有可用于执行操作比较的工具?

【问题讨论】:

标签: java .net web-services soap wsdl


【解决方案1】:

WSDL 最终是一个XML 文档XmlUnit 在这种情况下可以派上用场。它本质上是一个用于对大量使用 XML 的 XML 应用程序进行单元测试的实用程序。在最简单的情况下,它有一个 Diff 类,它实际上比较 XML 如下:

Diff myDiff = new Diff("</Original>", "</Modified>"); 

但正如我所说,这是非常琐碎的。请探索此以获取更多详细信息。

还有来自 Oracle 的 XML diff utility

不确定您是否可以进行操作比较。

【讨论】:

  • 是的,这就是我要去的路线。获取操作请求和响应并进行比较。但只是想检查是否有任何现成可用的东西,这样我就不需要重新发明轮子了。感谢您的回复!
【解决方案2】:

服务注册

听起来您在描述服务治理。您所描述的某些功能可以由注册表提供,高于查找和发布服务的功能。

【讨论】:

  • 感谢您的回复安迪!我们没有在我们的组织中使用任何服务注册表。我正在寻找一种工具,它将 2 个 wsdls 作为输入并列出匹配操作的请求/响应的差异。
【解决方案3】:

也许您想使用Eclipse WSDL2Java pluginApache CXF 从wsdl 文件生成类,而不是生成每个操作请求和响应,在我看来它可以方便您的工作。然后使用Devart Code Compare 将新类与旧类进行比较。我说的对吗?

【讨论】:

  • 但是没有现成的工具可以做到这一点吗?我还想查看显示的 xml 差异,所以我猜在这种情况下可能不得不再次编组代码。
  • @Punter Vicky,我猜测是否存在开箱即用的工具,但 Devart Code Compare 也支持 XML 进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 2016-02-11
  • 2013-04-11
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多