繁体   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