小编典典

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

java

我需要找到两个WSDL文件中的差异。我从这里像这样漂亮地打印它们开始,但是我看到complexType在两个定义的文件中(无论出于何种愚蠢的原因)都以不同的顺序进行了相同的操作(例如s)。我想进一步规范化这些文件,以便以后可以使用诸如standard之类的东西diff来查找差异。

不知道WSDL是否有定义的规范形式,我知道有Canonical
XML
,但是我需要进一步讲解并排序所有顺序无关紧要的东西。


阅读 291

收藏
2020-11-26

共1个答案

小编典典

我递归地穿过树,对所有匹配的节点子节点进行排序schema|wsdl:binding|wsdl:portType|wsdl:types|wsdl:definitions。我用这个答案来漂亮地打印输出。无论出于什么原因format.setLineWidth(65);都不起作用,所以我不得不使用来加入这些行replaceAll("\\s*\n\\s*(?=[^\\s<])", " ")。它似乎工作正常。

2020-11-26