If an external schema is imported from a WSDL file when you create a web service client or test client you need to enable access to external schema. JAXP 1.5 specifies that access is restricted by default. JAXP 1.5 is included with JDK8 (JAXP 1.5 was added to the JDK JDK7u40).
When access is not enabled you might see a message similar to the following when attempting to create a web service client or test client.
schema_reference: Failed to read schema document 'xjc.xsd', because 'file' access is not allowed due to restriction set by the accessExternalSchema property.
How to enable parsing of WSDL with an external schema?
To enable access you need to modify the configuration files of the IDE and the GlassFish Server. The steps for enabling parsing of a WSDL file in the IDE will depend upon if your project is Ant-based or Maven-based.
Enabling access in the IDE (Ant)
For Ant-based projects, you can modify the IDE configuration file to enable the IDE to access external schema. This will enable access globally for all Ant-based projects.
The Web Service Client wizard in the IDE parses the WSDL file when generating a web service client from a web service or WSDL file. You need to modify the IDE configuration file (
netbeans.conf) to add the following switch to the
netbeans_default_options. You will need to restart the IDE for the change to take effect.
For more about locating and modifying the
netbeans.conf configuration file, see FaqNetbeansConf.
Enabling access in the IDE (Maven)
For Maven-based projects, you can enable access for a specific project by modifying the project POM as described in the following issue:
Enabling access on GlassFish
When deploying to GlassFish you need to enable access to external schema to generate a test client for a web service. To enable access you need to modify the configuration file of the GlassFish Server (
GLASSFISH_INSTALL/glassfish/domains/domain1/config/domain.xml) and add the following JVM option element. You will need to restart the server for the change to take effect.
<java-config> ... <jvm-options>-Djavax.xml.accessExternalSchema=all</jvm-options> </java-config>
Applies to: NetBeans IDE 7.4, 8.0