0

Java プロジェクトのコピーを 2 つ持っています。

このメソッドを実行した後:

private void editArtifactWSDL() {
    try {
        File outputfile = new File(
        "C:\\WorkSpace\\CMU\\WebContent\\WEB-INF\\bpelfiles\\process\\Artifacts.wsdl");

        File skeletonFile = new File(
        "C:\\WorkSpace\\CMU\\WebContent\\WEB-INF\\bpelfiles\\SkeletonArtifacts.wsdl");

        DocumentBuilderFactory docFactory = DocumentBuilderFactory
        .newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        Document doc = docBuilder.parse(skeletonFile);

        Element definitionsElement = doc.getDocumentElement();

        // xmlns attributes
        editDefinitionsElementToArtifact(doc, definitionsElement);

        // partnerLinkType elements
        appendPartnerLinkTypeElementsToArtifact(doc, definitionsElement);

        // import elements
        appendImportElementsToArtifact(doc, definitionsElement);

        // write the content into xml file
        TransformerFactory transformerFactory = TransformerFactory
        .newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(outputfile);

        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(
        "{http://xml.apache.org/xslt}indent-amount", "2");
        transformer.transform(source, result);

        System.out.println("Artifact.wsdl saved!");

        } catch (ParserConfigurationException pce) {
        pce.printStackTrace();
        } catch (TransformerException tfe) {
        tfe.printStackTrace();
        } catch (SAXException sxe) {
        sxe.printStackTrace();
        } catch (IOException ioe) {
        ioe.printStackTrace();
    }
}

プロジェクトの1つで、「クリーン」になりArtifacts.wsdlます。他のプロジェクトでは xmlns=""、いくつかの要素に追加されます。

SkeletonArtifacts.wsdl はまったく同じです ( http://www.diffnow.com/で比較)

では、このランダムな動作の理由は何でしょうか。また、xmlns 属性を取り除く必要がありますか?

4

1 に答える 1