Hi,
I'm running into problems trying to use castor's xml mapping in an applet. Is
anyone else doing this?
The first issue I encountered was that castor depends on commons-logging and
commons-logging-1.1 causes an AccessControlException unless the jar is signed.
It seemed that I continued getting the same AccessControlException unless I
also signed castor.jar. With those hurdles out of the way, I'm now getting the
exception shown below.
Note that CmdParam is the class I'm unmarshaling; CmdParamDescriptor is *not*
one of my classes; I guess it's generated by castor on the fly, which would
explain why it hasn't been signed. I'm using castor's default unmarshaling (no
mapping file, no compile time descriptors). I imagine that I might be able to
get past this problem by using compile time descriptors, but I'd like to know
whether others have had success using castor's xml marshaling/unmarshaling in
an applet.
Thanks,
Terri
p.s. I'm also curious whether castor really is creating the CmdParamDescriptor
class at runtime, or if I'm misinterpreting things. I hope that someone who's
more familiar with the way castor works than I am can tell me.
java.lang.SecurityException: class "org.cipres.guigen.CmdParamDescriptor"'s
signer information does not match signer information of other classes in the
same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:147)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:119)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.exolab.castor.xml.util.XMLClassDescriptorResolverImpl$ClassCache.loadClass(XMLClassDescriptorResolverImpl.java:593)
at
org.exolab.castor.xml.util.XMLClassDescriptorResolverImpl.loadDescriptorClass(XMLClassDescriptorResolverImpl.java:436)
at
org.exolab.castor.xml.util.XMLClassDescriptorResolverImpl.getDescriptor(XMLClassDescriptorResolverImpl.java:523)
at
org.exolab.castor.xml.util.XMLClassDescriptorResolverImpl.resolveXML(XMLClassDescriptorResolverImpl.java:182)
at
org.exolab.castor.xml.UnmarshalHandler.getClassDescriptor(UnmarshalHandler.java:3363)
at
org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1558)
at
org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1377)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:741)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:581)
at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:832)
at org.cipres.guigen.CmdParam.deserialize(CmdParam.java:480)
at org.cipres.guigen.CmdParam.deserialize(CmdParam.java:453)
at
org.cipres.guigen.ServiceCommandPanel.initPanel(ServiceCommandPanel.java:867)
at
org.cipres.guigen.ServiceCommandPanel.getServicePanel(ServiceCommandPanel.java:232)
at org.cipres.guigen.TestGui.showFrames(TestGui.java:65)
at org.cipres.guigen.TestGui.<init>(TestGui.java:44)
at org.cipres.guigen.GuigenApplet.init(GuigenApplet.java:24)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at jep.AppletFramePanel.run(AppletFramePanel.java:175) at
java.lang.Thread.run(Thread.java:613)
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email