-
Bug
-
Resolution: Duplicate
-
P3
-
jaxp_1.4
-
sparc
-
solaris_9
while developing a Java Web Start application that makes extensive use of
XSLT. My XSL templates are packaged in a Jar file with the application.
I'm testing with Java 1.5.0_04, though the app should work in Java 1.4
and higher. All the Jars distributed with the application are signed,
and the JNLP specifies to give the application all permissions.
So far, so good. However, when performing a particular XSL transform
(which happens to be particularly large), I get a security exception. Is
there a workaround? The exception is:
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar read)
All my transforms are done like this:
URL xsl = getClass().getResource(template);
InputStream is = xsl.openStream();
Source source = new StreamSource(is, xsl.toExternalForm());
TransformerFactory factory =
TransformerFactory.newInstance();
Transformer trans = factory.newTransformer(source);
trans.transform(new DOMSource(document), new StreamResult(output));
Here is the stack trace:
ERROR: 'java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar read)'
javax.xml.transform.TransformerException:
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar read)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at grs.apps.pdsdriver.PdsArchiver.label(PdsArchiver.java:388)
at grs.apps.pdsdriver.EdrArchiver.archive(EdrArchiver.java:591)
at grs.apps.pdsdriver.PdsArchiverApp$5.run(PdsArchiverApp.java:236)
Caused by: com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar
read)
at
com.sun.org.apache.xalan.internal.xsltc.dom.LoadDocument.documentF(Unknown
Source)
at chan_data.template$dot$0()
at chan_data.applyTemplates()
at chan_data.applyTemplates()
at chan_data.transform()
at
com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(Unknown
Source)
... 5 more
---------
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar
read)
at
com.sun.org.apache.xalan.internal.xsltc.dom.LoadDocument.documentF(Unknown
Source)
at chan_data.template$dot$0()
at chan_data.applyTemplates()
at chan_data.applyTemplates()
at chan_data.transform()
at
com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at grs.apps.pdsdriver.PdsArchiver.label(PdsArchiver.java:388)
at grs.apps.pdsdriver.EdrArchiver.archive(EdrArchiver.java:591)
at grs.apps.pdsdriver.PdsArchiverApp$5.run(PdsArchiverApp.java:236)
XSLT. My XSL templates are packaged in a Jar file with the application.
I'm testing with Java 1.5.0_04, though the app should work in Java 1.4
and higher. All the Jars distributed with the application are signed,
and the JNLP specifies to give the application all permissions.
So far, so good. However, when performing a particular XSL transform
(which happens to be particularly large), I get a security exception. Is
there a workaround? The exception is:
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar read)
All my transforms are done like this:
URL xsl = getClass().getResource(template);
InputStream is = xsl.openStream();
Source source = new StreamSource(is, xsl.toExternalForm());
TransformerFactory factory =
TransformerFactory.newInstance();
Transformer trans = factory.newTransformer(source);
trans.transform(new DOMSource(document), new StreamResult(output));
Here is the stack trace:
ERROR: 'java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar read)'
javax.xml.transform.TransformerException:
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar read)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at grs.apps.pdsdriver.PdsArchiver.label(PdsArchiver.java:388)
at grs.apps.pdsdriver.EdrArchiver.archive(EdrArchiver.java:591)
at grs.apps.pdsdriver.PdsArchiverApp$5.run(PdsArchiverApp.java:236)
Caused by: com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar
read)
at
com.sun.org.apache.xalan.internal.xsltc.dom.LoadDocument.documentF(Unknown
Source)
at chan_data.template$dot$0()
at chan_data.applyTemplates()
at chan_data.applyTemplates()
at chan_data.transform()
at
com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(Unknown
Source)
... 5 more
---------
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.security.AccessControlException: access denied
(java.io.FilePermission C:\Documents and Settings\guym\Application
Data\Sun\Java\Deployment\cache\javaws\http\Dgrs.lpl.arizona.edu\P80\DMgrs2001\DMsw\DMpds\RMarchiver.jar
read)
at
com.sun.org.apache.xalan.internal.xsltc.dom.LoadDocument.documentF(Unknown
Source)
at chan_data.template$dot$0()
at chan_data.applyTemplates()
at chan_data.applyTemplates()
at chan_data.transform()
at
com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
Source)
at grs.apps.pdsdriver.PdsArchiver.label(PdsArchiver.java:388)
at grs.apps.pdsdriver.EdrArchiver.archive(EdrArchiver.java:591)
at grs.apps.pdsdriver.PdsArchiverApp$5.run(PdsArchiverApp.java:236)
- duplicates
-
JDK-6315788 XXLTC - security exception when in web start
-
- Closed
-