brucewayne
Grünschnabel
Hallo, und ein kurzes aber großes Lob, in diesem Forum habe ich schon soviel gelernt, daß es nun an der Zeit wird, auch mal selbst eine Frage zu stellen
Mein Problem:
Ich habe ein Applet, welches eine XML Datei lädt, die sich in der .jar befindet.
Applet ist signiert, XML wird über resource geladen, alles funktioniert in Eclipse.
Sobald ich es im Browser laufen lassen will, geht es nicht mehr.
Ich habe schon Stundenlang (wörtlich) im Internet nach Lösungen gesucht, bin mittlerweile am verzweifeln, ob es in einem Applet überhaupt möglich ist, eine XML zu laden (oder irgendeine andere Datei).
probiert habe ich folgende aufrufe:
alles dieses sollte dann (und funktioniert auch anstandslos in eclipse) zu meinen objekten führen:
Die Datei befindet sich in dem Resource-Folder: /res -> unterordner /xml/movies.xml
(in der .jar-Datei wird es dann zu -> abc.jar!/xml/movies.xml)
Das Applet wirft im Browser entweder NullpointerExceptions oder AccessDeniedExceptions, OBWOHL ich es (nach Anleitung von T. Darimont) signiert habe...
Muss/kann ich die .xml-Datei auch signieren?
Könnte ich die xml-Datei auch auf den Server legen? (habs schon versucht, dann findet er bei:
nicht mal in Eclipse die xml, obwohl ich genau die url im Browser eingeben kann und der Browser die xml dann öffnet.)
Es ist zum verzweifeln...
Edit:
hier mal eine Beispiel-Fehlermeldung, TROTZ signiertem applets:
Mein Problem:
Ich habe ein Applet, welches eine XML Datei lädt, die sich in der .jar befindet.
Applet ist signiert, XML wird über resource geladen, alles funktioniert in Eclipse.
Sobald ich es im Browser laufen lassen will, geht es nicht mehr.
Ich habe schon Stundenlang (wörtlich) im Internet nach Lösungen gesucht, bin mittlerweile am verzweifeln, ob es in einem Applet überhaupt möglich ist, eine XML zu laden (oder irgendeine andere Datei).
probiert habe ich folgende aufrufe:
Code:
URL path = this.getClass().getResource("/xml/movies.xml");
Code:
URL path = ClassLoader.getSystemResource"xml/movies.xml");
Code:
InputStream path = AppletClassLoader.getSystemResourceAsStream("xml/movies.xml");
Code:
InputStream path = getClass().getResourceAsStream("/xml/movies.xml");
alles dieses sollte dann (und funktioniert auch anstandslos in eclipse) zu meinen objekten führen:
Code:
Movies movies = JAXB.unmarshal(path, Movies.class);
(in der .jar-Datei wird es dann zu -> abc.jar!/xml/movies.xml)
Das Applet wirft im Browser entweder NullpointerExceptions oder AccessDeniedExceptions, OBWOHL ich es (nach Anleitung von T. Darimont) signiert habe...
Muss/kann ich die .xml-Datei auch signieren?
Könnte ich die xml-Datei auch auf den Server legen? (habs schon versucht, dann findet er bei:
Code:
URL path = this.getClass().getResource("http://www.eineseite.de/movies.xml");
Es ist zum verzweifeln...
Edit:
hier mal eine Beispiel-Fehlermeldung, TROTZ signiertem applets:
Code:
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkMemberAccess(Unknown Source)
at java.lang.Class.checkMemberAccess(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator.hasDefaultConstructor(Unknown Source)
at com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator.hasDefaultConstructor(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.<init>(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.<init>(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source)
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXB$Cache.<init>(Unknown Source)
at javax.xml.bind.JAXB.getContext(Unknown Source)
at javax.xml.bind.JAXB.unmarshal(Unknown Source)
at webinterface.controller.ImportMovies.loadMoviesFromXML(ImportMovies.java:36)
at webinterface.controller.ImportMovies.loadMovies(ImportMovies.java:31)
at webinterface.main.MainApplet.init(MainApplet.java:65)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ausnahme: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
Zuletzt bearbeitet: