Это мой первый визит на помощь, и я надеюсь, что кто-то может мне помочь.Сохранение загруженных XSD и WSDL
У меня была задана задача локализовать процесс сборки муравьев, чтобы сократить время сборки.
Идея заключается в создании муравьиной задачи, которая загружает WSDL, связанные с определенной службой, и сохраняет их локально. Короче говоря, это было сделано, но по какой-то причине при создании службы с использованием локальных файлов я получаю ошибку «Содержимое не разрешено в прологе» в первом импортированном XSD.
Я искал форумы, и наиболее распространенный ответ - это скрытые символы перед прологом, но я проверил шестнадцатеричный код и нет скрытых символов.
Это WSDL пролог
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Это первый XSD Prolog
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Prolog в шестнадцатеричном
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));
Сообщите мне, если я буду более конкретным, или если мне нужно добавить дополнительную информацию.
Спасибо.
Хорошо, я думаю, что это должно быть связано с тем, как файл сохраняется, потому что я только что заменил код в существующем локальном XSD кодом из загруженной версии, и он отлично работал ... – bhumphrey
Проверьте эту ссылку - http://stackoverflow.com/questions/3665554/about-saxparseexception-content-is-not-allowed-in-prolog/7023984 – junkiecoder
Спасибо, я на самом деле просто понял это. Я был schemaLocation в WSDL на «exampleschemas \ example1 \ schema.xsd», как только я поместил все схемы в ту же папку, что и WSDL, и изменил схему, чтобы она соответствовала. – bhumphrey