ここで助けを求めるのはこれが初めてで、誰かが私を助けてくれることを願っています。
ビルド時間を短縮するために、後で Ant ビルド プロセスをローカライズするタスクが与えられました。
このアイデアは、特定のサービスに関連付けられた WSDL をダウンロードしてローカルに保存する Ant タスクを構築するようなものです。簡単に言えば、これは完了しましたが、ローカル ファイルを使用してサービスを構築すると、何らかの理由で、最初にインポートされた XSD で「プロローグではコンテンツが許可されていません」というエラーが表示されます。
フォーラムを検索したところ、最も一般的な回答はプロローグの前の隠し文字ですが、16 進コードを確認したところ、隠し文字はありませんでした。
これは WSDL プロローグです
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
これは最初の XSD プロローグです
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
16 進数のプロローグ
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));
もっと具体的に説明する必要があるのか、それとも情報を追加する必要があるのか教えてください。
ありがとう。