Troubleshooting
Problem
In IBM® Rational® Software Architect Designer for WebSphere (RSAD4WS), when you try to generate Java from an XML Schema Definition (XSD), the generation of the Java code terminates with the following error message: Failed to read external schema document "jar:file:/path_to_websphere_90/xjc.xsd", because "jar" access is not allowed.
(Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.)
Symptom
The following steps reproduce the error:
- Launch RSAD4WS
- Load your workspace that contains the project with the XSD file
- Locate the XSD file in the Project Explorer
- Select Generate > Java from the popup menu
- RESULT: The Generation Result for Xjc: The Xjc tool has completed Web service artifact generation. Review the tool output for details, including errors and warnings error appears as in the following screen capture:
The following is the error output contained in the screen capture:
parsing a schema...
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at com.ibm.ws.bootstrap.WSLauncher.main
(WSLauncher.java:281)
Caused by: java.lang.AssertionError: org.xml.sax.
AXParseException: Failed to read external schema document
"jar:file:/C:/IBM/WebSphere90/AppServer/plugins/
com.ibm.jaxb.tools.jar!/com/ibm/jtc/jax/tools/xjc/reader/
xmlschema/bindinfo/xjc.xsd",
because "jar" access is not allowed.
at com.ibm.jtc.jax.tools.xjc.SchemaCache.newValidator
(SchemaCache.java:82)
at com.ibm.jtc.jax.tools.xjc.reader.xmlschema.bindinfo.
AnnotationParserFactoryImpl$1$1.startElement
(AnnotationParserFactoryImpl.
java:118)
at com.ibm.jtc.jax.xml.xsom.impl.parser.state.
NGCCRuntime.startElement(NGCCRuntime.java:253)
at org.xml.sax.helpers.XMLFilterImpl.
startElement(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.util.
SubtreeCutter.startElement(SubtreeCutter.java:108)
at com.ibm.jtc.jax.tools.xjc.reader.
ExtensionBindingChecker.startElement
(ExtensionBindingChecker.java:150)
at org.xml.sax.helpers.XMLFilterImpl.
startElement(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.reader.xmlschema.
parser.IncorrectNamespaceURIChecker.startElement
(IncorrectNamespaceURIChecker.
java:128)
at org.xml.sax.helpers.XMLFilterImpl.
startElement(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.reader.xmlschema.parser.
CustomizationContextChecker.startElement
(CustomizationContextChecker.
java:193)
at org.xml.sax.helpers.XMLFilterImpl.startElement
(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.reader.internalizer.
DOMForestScanner$LocationResolver.startElement
(DOMForestScanner.java:147)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:244)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:281)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:250)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:281)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:250)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:281)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:250)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.scan(DOMScanner.java:127)
at com.ibm.jtc.jax.tools.xjc.reader.internalizer.
DOMForestScanner.scan(DOMForestScanner.java:92)
at com.ibm.jtc.jax.tools.xjc.reader.internalizer.
DOMForestScanner.scan(DOMForestScanner.java:100)
at com.ibm.jtc.jax.tools.xjc.reader.internalizer.
DOMForestParser.parse(DOMForestParser.java:104)
at com.ibm.jtc.jax.tools.xjc.ModelLoader
$XMLSchemaParser.parse(ModelLoader.java:269)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
NGCCRuntimeEx.parseEntity(NGCCRuntimeEx.java:347)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
NGCCRuntimeEx.importSchema(NGCCRuntimeEx.java:258)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
state.importDecl.action0(importDecl.java:85)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
state.importDecl.leaveElement(importDecl.java:201)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
state.NGCCRuntime.endElement(NGCCRuntime.java:314)
at org.xml.sax.helpers.XMLFilterImpl.
endElement(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.util.SubtreeCutter.
endElement(SubtreeCutter.java:112)
at org.xml.sax.helpers.XMLFilterImpl.
endElement(Unknown Source)
at org.xml.sax.helpers.XMLFilterImpl.
endElement(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.reader.xmlschema.
parser.CustomizationContextChecker.endElement
(CustomizationContextChecker.java:199)
at org.xml.sax.helpers.XMLFilterImpl.
endElement(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.reader.internalizer.
DOMForestScanner$LocationResolver.endElement
(DOMForestScanner.java:140)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:255)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:281)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.visit(DOMScanner.java:250)
at com.ibm.jtc.jax.xml.bind.unmarshaller.
DOMScanner.scan(DOMScanner.java:127)
at com.ibm.jtc.jax.tools.xjc.reader.
internalizer.DOMForestScanner.scan(DOMForestScanner.java:92)
at com.ibm.jtc.jax.tools.xjc.reader.
internalizer.DOMForestScanner.scan(DOMForestScanner.java:100)
at com.ibm.jtc.jax.tools.xjc.reader.
internalizer.DOMForestParser.parse(DOMForestParser.java:104)
at com.ibm.jtc.jax.tools.xjc.ModelLoader
$XMLSchemaParser.parse(ModelLoader.java:269)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
NGCCRuntimeEx.parseEntity(NGCCRuntimeEx.java:347)
at com.ibm.jtc.jax.xml.xsom.impl.parser.
ParserContext.parse(ParserContext.java:128)
at com.ibm.jtc.jax.xml.xsom.parser.
XSOMParser.parse(XSOMParser.java:171)
at com.ibm.jtc.jax.xml.xsom.parser.
XSOMParser.parse(XSOMParser.java:160)
at com.ibm.jtc.jax.tools.xjc.ModelLoader.
createXSOM(ModelLoader.java:534)
at com.ibm.jtc.jax.tools.xjc.ModelLoader.
loadXMLSchema(ModelLoader.java:378)
at com.ibm.jtc.jax.tools.xjc.ModelLoader.
load(ModelLoader.java:174)
at com.ibm.jtc.jax.tools.xjc.ModelLoader.
load(ModelLoader.java:119)
at com.ibm.jtc.jax.tools.xjc.Driver.run(Driver.java:333)
at com.ibm.jtc.jax.tools.xjc.Driver.run(Driver.java:200)
at com.ibm.jtc.jax.tools.xjc.Driver._main(Driver.java:123)
at com.ibm.jtc.jax.tools.xjc.Driver.access$000(Driver.java:80)
at com.ibm.jtc.jax.tools.xjc.Driver$1.run(Driver.java:103)
Caused by: org.xml.sax.SAXParseException:
Cause
The following error indicates a problem with the accessExternalSchema property in the IBM WebSphere Java Development Kit (JDK), Java Runtime Environment (JRE), and Java Virtual Machine (JVM):
Caused by: java.lang.AssertionError: org.xml.sax.SAXParseException:
Failed to read external schema document
jar:file:/C:/IBM/WebSphere90/AppServer/plugins/
com.ibm.jaxb.tools.jar!/com/ibm/jtc/jax/tools/
xjc/reader/xmlschema/bindinfo/xjc.xsd",
because "jar" access is not allowed.
Resolving The Problem
Follow these steps to prevent the error:
- Open the xjc.bat located in the <WebSphere_Install_Dir>\bin folder. By default, this folder is C:\IBM\WebSphere90\AppServer\bin
- Add the -Djavax.xml.accessExternalSchema=all JVM argument to the Java command:
"%JAVA_HOME%\bin\java" -Djavax.xml.accessExternalSchema=all -Djava.ext.dirs="%WAS_JAVA_EXT_DIRS%" -Djava.endorsed.dirs="%WAS_ENDORSED_DIRS%" %OSGI_INSTALL% %OSGI_CFG% %WAS_LOGGING% %CONSOLE_ENCODING% -Dwas.install.root="%WAS_HOME%" -Dws.ext.dirs="%WAS_EXT_DIRS%" %USER_INSTALL_PROP% -Xbootclasspath/p:"%WAS_BOOTCLASSPATH%" -classpath "%WAS_CLASSPATH%" com.ibm.ws.bootstrap. WSLauncher com.ibm.ws.jaxb.tools.XJC %* set RC=%ERRORLEVEL%
- Save the file and generate Java again
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYK2S","label":"Rational Software Architect Designer"},"ARM Category":[{"code":"a8m3p000000Go90AAC","label":"Rational Software Architect-\u003ETransformation-\u003EJava-to-UML"}],"ARM Case Number":"TS006766324","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Product Synonym
RSAD4WS
Was this topic helpful?
Document Information
Modified date:
11 November 2021
UID
ibm16507709