2013-08-03 122 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