When binding on some valid XML documents using Ant's xjc2 task, I get the following failure message:
[xjc2] [ERROR] null
[xjc2] unknown location
The documents are very similar to other files which have bound successfully, all imported schemas exist. Running xjc in verbose mode produced:
Parent is not Defined Class...I cannot get the fields from this class
Anyone have any idea what this means?
Schema Correctness Check
In our use of XJC we have seen a similar problem (see the link below) that was solved by disabling the schema correctness check:
Try the following System property to disable the schema correctness check.
-Dcom.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.noCorrectnessCheck=true
For Ant, try:
<xjc target="src">
<schema dir="src" includes="**/*.xsd" excludes="**/debug.xsd"/>
<arg value="-nv" />
</xjc>
From the following page the -nv parameter relates to the schema correctness check:
Getting into the Code
You could try interacting with XJC programmatically (see below) and plug-in your own EntityResolver to see where the import/include fails:
import com.sun.codemodel.*;
import com.sun.tools.xjc.*;
import com.sun.tools.xjc.api.*;
SchemaCompiler sc = XJC.createSchemaCompiler();
sc.setEntityResolver(new YourEntityResolver());
sc.setErrorListener(new YourErrorListener());
sc.parseSchema(SYSTEM_ID, element);
S2JJAXBModel model = sc.bind();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With