ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
444
444
EMPFEHLEN
-
Hallo!
Ich bin komplett neu hier und nachdem ich die SuFu schon benutzt habe und nix gefunden habe, post ich das hier mal:
Ich habe folgendes Problem:
Ich baue ein Applet dass ein XML beim start per http-request als Antwort zurückbekommt. Dieses XML will ich unmarschallen. Allerdings bricht er mir ohne Fehlermeldung bzw. ohne dass etwas geworfen wird bei JAXBContext.newInstance(....) ab.
Das System.out.println("TRY") gibt er mir noch aus, ab dann gar nix mehr, so als wäre der Code zu Ende, in den CATCH block geht er auch nicht.PHP-Code:try
{ System.out.println("TRY"); this.context = JAXBContext.newInstance(ItemObject.class); }
catch (JAXBException ex)
{
System.out.println("CATCH");
Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex);
return null;
}

Habt ihr ne Idee was da haben könnte?
Danke
Greets
-
Ok, problem gefunden, es wirft doch ne Exception:
java.security.AccessControlException: access denied ...
Trotzdem thx
-
22.08.11 16:27 #3
- Registriert seit
- Jun 2009
- Beiträge
- 870
Hallo und willkommen hier im Forum.
Bitte Thread als erledigt markieren! (der Haken neben "auf Thema antworten")Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Hallo!
Danke für den Hinweis mit dem erledigt!
Musste das Thema aber jetzt nochmals anschneiden:
Mein Applet hab ich signiert und ich kann auch auf die Festplatte zugreifen (Hab ne Speicherfunktion). Das "Interessante" find ich jetzt ist, dass die Funktion während des Betriebes funktioniert. Ich will aber auch einbauen, dass das Applet mit Startparameter funktioniert die es von der Adressleiste des Browser kriegt (über JavaScript). Er schickt die Anfrage ganz normal, als wäre es eine normale Suchanfrage an die Datenbank (auch über HTTP), aber beim Start krieg ich die
java.security.AccessControlException: access denied
die bei der gleichen Funktion während des Betriebes nicht auftaucht. Hat vl jemand eine Idee warum?
Wie schon gesagt, das Applet ist privat zertifiziert.
Danke!
Grüße
-
22.08.11 17:08 #5
- Registriert seit
- Jun 2009
- Beiträge
- 870
Hast du noch etwas mehr Code anzubieten? bitte in Java-Tags (siehe meine Signatur)
Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
Hallo!
Meine Klasse, die unmarshalled:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
public Object build(String _xmlString) { try { if (_xmlString.length() > 50) { if (_xmlString.substring(55, 62).equals("<items>")) { try { this.context = JAXBContext.newInstance(rootSearch.class); } catch (JAXBException ex) { Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex); return null; } try { this.um = context.createUnmarshaller(); } catch (JAXBException ex) { Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex); return null; } try { this.search = (rootSearch) um.unmarshal(new StreamSource(new StringReader(_xmlString))); } catch (JAXBException ex) { Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex); return null; } return this.search; } //for Element else { if (_xmlString.substring(55, 67).equals("<itemObject>")) { try { this.context = JAXBContext.newInstance(ItemObject.class); } catch (JAXBException ex) { Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex); return null; } try { this.um = this.context.createUnmarshaller(); } catch (JAXBException ex) { Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex); return null; } try { this.element = (ItemObject) um.unmarshal(new StreamSource(new StringReader(_xmlString))); } catch (JAXBException ex) { Logger.getLogger(buildObject.class.getName()).log(Level.SEVERE, null, ex); return null; } return this.element; } } } return null; } catch (Exception ex) { ex.printStackTrace(); return null; }
Eine Zwischenfunktion die Eingangsparemeter überprüft und so das zurückgegebene Objekt deklariert
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
/* XML */ /** * Method to get Object from XML-String * @return Object */ public Object getObj(String _xmlString, int _type) { if(_type == 1) { this.search = (rootSearch) this.xml.build(_xmlString); String[][] result = new String[this.search.getItems().size()][1]; for(int i=0; i<this.search.getItems().size(); i++) { result[i][0] = this.search.getItems().get(i).getName(); } return result; } else if(_type == 2) { ItemObject element = (ItemObject) this.xml.build(_xmlString); return element; } return null; }
und die Funktion die alles zusammenführt
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
public void sendPathRequest(String _path) { String requestString = this.cache.requestLink + _path.substring(_path.indexOf("?")+1, _path.length()); this.frame.getTextField("path").setText(_path); //check cache for following elements and do configuration this.checkCache(); //remove old object from Frame this.deleteObjectFromFrame(frame.getObject()); //creating http request and getting xml string String xmlString = this.httpRequestor.sendRequest(requestString); //Make Item Object, create PictureBox and add box to cache ItemObject obj = (ItemObject) this.getObj(xmlString, 2); if(obj == null) this.customJOptionPane("There happened a Failure"); //this.createPictureBox(obj, 1); this.addObjectCache(this.frame.getPicBox()); //activate back button if(this.cache.getPointer() > 0) this.frame.getButton("back").setEnabled(true); //activate Buttons this.frame.getButton("edit").setEnabled(true); this.frame.getButton("center").setEnabled(true); this.frame.getButton("save").setEnabled(true); this.frame.repaint(); }
Wie schon gesagt, während des normalen Betriebes, ohne dass Startparameter aus der Browserzeile übergeben werden, funktioniert der Code einwandfrei. Mit Startparameter aus der Browserzeile wirft er die Exception.
Hab mir überlegt, ob es vl damit zusammenhängt, dass er die Daten schon alle lädt und die Funktionen im Hintergrund schon ausführt, bevor der User dem selbst erstellten Zertifikat zustimmt...
Danke
-
22.08.11 17:30 #7SE Tutorials.de Gastzugang
Es wäre vielleicht auch mal wichtig auf WAS dir der Zugriff verweigert wird. Ein einfaches ACCESS DENIED kann man schon mit System.getProperty() in einem nicht-signierten Jar erzeugen. Vielleicht kann man aus dem Objekt welches keine Zugriff hat schließen wo der Fehler liegt.
Anderst ausgedrückt :
Person A : mach mal XY mit Z
Person B : aber ich habe keinen Zugriff
Nun weis aber Person A nicht auf WAS B keinen Zugriff hat. Und genau so stehen auch wir gerade in der Sonne.
-
Hallo!
Der Zugriff wird mir auf das folgende blockiert:
Code java:1
this.context = JAXBContext.newInstance(ItemObject.class);
Folgend der gesamte Stacktrace
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 XML.buildObject.build(buildObject.java:89)
at main.Functions.getObj(Functions.java:662)
at main.Functions.sendPathRequest(Functions.java:853)
at main.applet.setLink(applet.java:565)
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 sun.plugin.javascript.JSInvoke.invoke(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 sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
at sun.plugin2.liveconnect.JavaClass$MethodInfo.invoke(Unknown Source)
at sun.plugin2.liveconnect.JavaClass$MemberBundle.invoke(Unknown Source)
at sun.plugin2.liveconnect.JavaClass.invoke0(Unknown Source)
at sun.plugin2.liveconnect.JavaClass.invoke(Unknown Source)
at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$DefaultInvocationDelegate.invoke(Unknown Source)
at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo.doObjectOp(Unknown Source)
at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
-
Hallo!
Eine Vermutung zu diesem Problem:
Ist es möglich, dass er die Exception wirft, weil der Browser die Funktion mittels JavaScript aufruft? Wie schon erwähnt: Applet-Intern funktioniert es einwandfrei.
-
So, nochmal meine Wenigkeit:
Nach längeren Recherechen hab ich herausgefunden, dass das ein Bug ist, der seit 1.4.2 existiert und scheinbar bis jetzt noch nicht behoben wurde.
BugReport:
http://bugs.sun.com/bugdatabase/view...bug_id=5011139
Damit: erledigt.
Ähnliche Themen
-
MySql verbindungstest ohne PHP Fehlermeldung?
Von trage im Forum PHPAntworten: 3Letzter Beitrag: 23.05.09, 10:18 -
PHP Skript (mit mysql Befehlen) bricht immer nach gewisser Zeit ohne Fehler ab
Von Eve82 im Forum PHPAntworten: 3Letzter Beitrag: 18.09.08, 13:00 -
Suche bricht ab - Fehlermeldung
Von maeder1 im Forum Visual Basic 6.0Antworten: 6Letzter Beitrag: 11.01.08, 11:11 -
Absturz mit und ohne Fehlermeldung !?
Von strickey im Forum Cinema 4DAntworten: 4Letzter Beitrag: 01.11.05, 17:52 -
[vba] fehlermeldung ohne zusammenhang!
Von sra im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 18.01.05, 12:03





Zitieren
Login





