это мой первый раз, когда ищу помощь здесь, и я надеюсь, что кто-то может мне помочь.
Мне дали задание локализовать наш процесс сборки ant, чтобы сократить время сборки.
Идея похожа на создание задачи ant, которая загружает WSDL, связанные с определенной службой, и сохраняет их локально. Короче говоря, это было сделано, но по какой-то причине при создании службы с использованием локальных файлов я получаю сообщение об ошибке «Контент не разрешен в прологе» в первом импортированном XSD.
Я искал форумы, и наиболее распространенный ответ - скрытые символы перед прологом, но я проверил шестнадцатеричный код и скрытых символов нет.
Это пролог WSDL
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Это первый пролог XSD
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Пролог в шестнадцатеричном формате
3C3F786D6C2076657273696F6E3D2231
2E302220656E636F64696E673D227574
662D3822207374616E64616C6F6E653D
226E6F223F3E
Которые такие же, как удаленные версии.
Таким же образом сохраняются загруженные файлы XSD и WSDL.
private Document convertToXML(String xmlSource) throws Exception {
DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xmlSource)));
return document;
}
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.STANDALONE, "no");
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
Result output = new StreamResult(new File(filePath));
Дайте мне знать, если я должен быть более конкретным или мне нужно добавить больше информации.
Спасибо.