FaqWSDLExternalSchema

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.

For additional details, see ACCESS_EXTERNAL_SCHEMA and Scope and Order of JAXP Properties.

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.

-J-Djavax.xml.accessExternalSchema=all

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:

Bug 241570 - Wizard fails to create class from wsdl, in maven project and JavaFX client

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

Platforms: All


Links

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo