2

2つのWSDLファイルの違いを見つける必要があります。私はここのようにそれらをきれいに印刷することから始めましたがcomplexType、(愚かな理由で)定義された2つのファイルに同じもの(たとえばs)が異なる順序であることがわかります。ファイルをさらに正規化したいので、後で標準などを使用diffして違いを見つけることができます。

WSDLの標準形が定義されているかどうかはわかりません。CanonicalXMLがあることは知っていますが、もう少し進んで、順序が重要でないすべてのものを並べ替える必要があります。

4

2 に答える 2

1

XMLをCanonicalXMLに変換するJavaプログラムをhttp://www.jclark.com/xml/からダウンロードできます。これはWSDLファイルにも当てはまるはずです。

于 2011-06-23T11:51:01.843 に答える
0

ツリーを再帰的に実行し、に一致するノードのすべての子を並べ替えschema|wsdl:binding|wsdl:portType|wsdl:types|wsdl:definitionsました。私はこの答えを出力をきれいに印刷するために使用しました。なんらかの理由format.setLineWidth(65);で機能しないので、を使用して行を結合する必要がありましたreplaceAll("\\s*\n\\s*(?=[^\\s<])", " ")。うまくいくようです。

于 2011-06-28T08:37:17.943 に答える