簡體   English   中英

如何在Java中規范化WSDL文件?

[英]How to canonicalize WSDL files in Java?

我需要找到兩個WSDL文件中的差異。 我從這里像這樣漂亮地打印它們開始 ,但是我看到在兩個定義的文件中(出於任何愚蠢的原因)以不同的順序有相同的事物(例如complexType )。 我想進一步規范化文件,因此以后可以使用諸如標准diff類的東西來查找差異。

不知道WSDL是否有定義的規范形式,我知道有Canonical XML ,但是我需要進一步講解並排序所有順序無關緊要的東西。

您可以從http://www.jclark.com/xml/下載Java程序,該程序會將XML轉換為Canonical XML。 這也應該適用於WSDL文件。

我遞歸地遍歷了樹,並對與schema|wsdl:binding|wsdl:portType|wsdl:types|wsdl:definitions匹配的節點的所有子節點進行排序。 我用這個答案來漂亮地打印輸出。 無論出於何種原因format.setLineWidth(65); 不起作用,因此我不得不使用replaceAll("\\\\s*\\n\\\\s*(?=[^\\\\s<])", " ") 似乎工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM