Hi,

 

O/S:���� Windows 2000 Professional

Batik:��� 1.1.1

 

I am trying to use the Batik transcoder from a web component deployed in the J2EE reference environment (version 1.3.1). However, when I attempt to transcode an SVG to a JPEG with size adjustment (see attached code fragment) I get the following AccessControlException from the J2EE container:

 

java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)

����������� at java.security.AccessControlContext.checkPermission(AccessControlContext.java:272)

����������� at java.security.AccessController.checkPermission(AccessController.java:399)

����������� at java.lang.SecurityManager.checkPermission(SecurityManager.java:545)

����������� at com.sun.enterprise.J2EESecurityManager.checkAccess(J2EESecurityManager.java:46)

����������� at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:279)

����������� at java.lang.Thread.init(Thread.java:265)

����������� at java.lang.Thread.<init>(Thread.java:330)

����������� at org.apache.batik.util.SoftReferenceCache$1.<init>(Unknown Source)

����������� at org.apache.batik.util.SoftReferenceCache.<clinit>(Unknown Source)

����������� at org.apache.batik.bridge.SVGColorProfileElementBridge.<init>(Unknown Source)

����������� at org.apache.batik.bridge.SVGBridgeExtension.registerTags(Unknown Source)

����������� at org.apache.batik.bridge.BridgeContext.registerSVGBridges(Unknown Source)

����������� at org.apache.batik.bridge.BridgeContext.<init>(Unknown Source)

����������� at org.apache.batik.bridge.BridgeContext.<init>(Unknown Source)

����������� at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown Source)

����������� at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)

����������� at uk.co.avenida.internal.draco.server.svgrenderer.SVGRenderer.transcode(Unknown Source)

����������� at uk.co.avenida.internal.draco.server.svgrenderer.SVGRenderer.access$000(Unknown Source)

����������� at uk.co.avenida.internal.draco.server.svgrenderer.SVGRenderer$TranscodingAsset.writeRepresentation(Unknown Source)

����������� at uk.co.avenida.internal.draco.server.configurator.ConfigurationManager.renderValue(Unknown Source)

����������� at uk.co.avenida.internal.draco.client.html.SessionBean.renderChoice(Unknown Source)

����������� at uk.co.avenida.internal.draco.client.html.RenderChoiceServlet.dracoProcess(Unknown Source)

����������� at uk.co.avenida.internal.draco.client.html.DracoServlet.service(Unknown Source)

����������� at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

����������� at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

����������� at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:197)

����������� at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)

����������� at java.security.AccessController.doPrivileged(Native Method)

����������� at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)

����������� at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

����������� at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

����������� at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

����������� at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

����������� at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

����������� at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

����������� at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

����������� at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)

����������� at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

����������� at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

����������� at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

����������� at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:368)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

����������� at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

����������� at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

����������� at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

����������� at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

����������� at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

����������� at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

����������� at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)

����������� at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)

����������� at java.lang.Thread.run(Thread.java:484)

 

I believe I could get round this by modifying the J2EE server.policy file to grant permission to modifythreadgroup (haven’t tried it yet). Has anyone else encountered this problem? Anyone know of a way round it without compromising the security of the J2EE application in the real world?

 

Thanks,

Vicki

 

---------------------------------------

Vicki Bell

Avenida Technologies Ltd

[EMAIL PROTECTED]

Tel: +44 (0)2476 430462

 

Attachment: fragment.java
Description: JavaScript source

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to