[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: JAXB SecurtiyException with NamespaceContext
I think you should post to users@j.... Subscribe from http://jaxb.dev.java.net/ first. Ian Jones wrote: > Hello, > > > > I'm attempting to use JAXB for the first time and I'm experiencing a couple of > problems. I hope this is a suitable mailing list to post this question to – I > have tried the Java Forums with no luck. However if you think there is a better > forum for this question, could you please let me know? Anyway, here’s my problem: > > I'm able to generate the classes from my XML Schema using the following command: > > c:\jwsdp-1.5\jaxb\bin\xjc.bat -p com.piper.datamanager.config main.xsd > > > > This generates the expected classes and puts them in the specified package. I > have then added the following code to one of my classes to read from an XML file: > > *try* { > > JAXBContext context = JAXBContext.newInstance("com.piper.datamanager.config"); > > Unmarshaller unmarshaller = context.createUnmarshaller(); > > DataManager dataManager = (DataManager) unmarshaller.unmarshal(*new* File("D:/eclipse/workspace/dataManager/dataManager.cfg")); > > logger.info("done"); > > } *catch* (Exception e) { > > logger.error(e, e); > > } > > > > When I run this though, from Eclipse, I get the following error when the first line of the above try block is executed: > > java.lang.SecurityException: *class* "javax.xml.namespace.NamespaceContext"'s signer information does not match signer information of other classes in the same package > > at java.lang.ClassLoader.checkCerts(ClassLoader.java:611) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:532) > > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:55) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:194) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:187) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:289) > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:235) > > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) > > at java.lang.ClassLoader.defineClass0(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:539) > > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:55) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:194) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:187) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:289) > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:235) > > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:141) > > at com.piper.datamanager.config.impl.runtime.GrammarInfoFacade.createGrammarInfoFacade(GrammarInfoFacade.java:165) > > at com.piper.datamanager.config.impl.runtime.DefaultJAXBContextImpl.<init>(DefaultJAXBContextImpl.java:47) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:274) > > at com.sun.xml.bind.ContextFactory_1_0_1.createContext(ContextFactory_1_0_1.java:50) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:324) > > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:96) > > at javax.xml.bind.ContextFinder.searchcontextPath(ContextFinder.java:229) > > at javax.xml.bind.ContextFinder.find(ContextFinder.java:149) > > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:281) > > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:238) > > at com.piper.datamanager.client.LoginDialog.initialize(LoginDialog.java:99) > > at com.piper.datamanager.client.LoginDialog.<init>(LoginDialog.java:81) > > at com.piper.datamanager.Main.main(Main.java:34) > > > >>From my own investigation into this it seems that this is occurring as I have two jars in my classpath containing the package javax.xml.namespace and they are signed differently. These are jax-qname.jar and namespace..jar. I got both of these jars from my > > C:\jwsdp-1.5\jwsdp-shared\lib > > directory. I have even tried putting the contents of both jars into one jar but > this makes no difference. The application I am writing is a Swing app that also > uses JAX-RPC to communicate with a server - I have tried using just one of these > jars but both of them are required for my application to run and build. > > Does anyone know how I can fix this problem? Any help will be greatly appreciated. > > Ian. > -- Kohsuke Kawaguchi Sun Microsystems kohsuke.kawaguchi@s... S/MIME Cryptographic Signature
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|