2013-08-03 81 views
2

通常,企业应用程序会消耗大量Web服务。这些正在使用的Web服务中的一些可能会每月升级到新版本。消费新的Web服务之前,消费者必须对旧服务和新服务之间的变化进行彻底分析,这将构成影响评估的基础。SOAP请求/响应比较工具

我遇到过比较WSDL的工具,但是应用程序消耗的一些服务可能很大,而WSDL可能不止50次操作。消费应用程序可能使用说10操作。通过使用WSDL比较器,确定修改过的元素是否是所消耗的任何操作的一部分可能有点繁琐。为了做这样的分析,我通常使用SOAP UI为每个操作生成请求和响应,并使用文本比较工具来识别差异。

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

+0

http://www.soapui.org/SOAP-and-WSDL/working-with-messages.html? – Slartibartfast

+0

我可以拆分所有3个回应的赏金:) –

回答

1

WSDL最终是XML文档。在这种情况下,XmlUnit可以非常方便。它本质上是一个用于单元测试大量使用XML的XML应用程序的实用程序。在最轻视的,它有一个Diff类如下XML实际上比较:

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

但正如我所说,这是非常轻视。请探索此更多细节。

另外还有Oracle的XML diff utility

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

+0

是的,那是我要去的路线。获取操作请求和响应并进行比较。但只是想检查是否有任何可用的盒子,以便我不需要重新发明轮子。感谢您的答复! –

1

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

+0

但是,有没有开箱即用的工具可以做到这一点?另外,我希望看到显示的xml差异,因此可能必须在这种情况下再次编码代码。 –

+0

@Punter Vicky,我对开箱即用工具的存在的猜测是否定的,但Devart代码比较还支持XML进行比较。 – oMiD