Hello again!
This is a completion of my last mail yesterday. The JAXB-RI is the latest
from the JWSDP1.2. (jwsdp-1_2-windows-i586.exe)
The Applet works very well when running in signed mode, but will throw an
exception in unsigned mode due to a security check. This check is caused by
classes in the JWSDP package which I can not control.
Is it impossible to get this work with Applets and JAXB? It seems like this
is a insoluble problem since the JAXB classes force a illegal
System.getProperty() check. I have scanned this listgroup completely but
there is noone who has a solution to this problem. Why is JAXB using such
checks if Applets can't handle them?
Best Regard
//Stefan W
----------------------------------------------------------------------------
------------------------------------------
Java(TM) Plug-in: Version 1.4.1_03
Anv?nder JRE-version 1.4.1_03 Java HotSpot(TM) Client VM
Anv?ndarens hemkatalog = C:\Documents and Settings\d98-swe
Proxy-konfiguration: Ingen proxy
----------------------------------------------------
java.security.AccessControlException: access denied
(java.util.PropertyPermission java.home read)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java
:270)
at
java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
at java.lang.System.getProperty(System.java:572)
at
org.apache.xerces.util.SecuritySupport12$2.run(SecuritySupport12.java:89)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.xerces.util.SecuritySupport12.getSystemProperty(SecuritySupport12
.java:86)
at
org.apache.xerces.util.ObjectFactory.createObject(ObjectFactory.java:187)
at
org.apache.xerces.util.ObjectFactory.createObject(ObjectFactory.java:137)
at org.apache.xerces.parsers.SAXParser.<init>(SAXParser.java:140)
at org.apache.xerces.parsers.SAXParser.<init>(SAXParser.java:125)
at org.apache.xerces.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:102)
at
org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImp
l.java:95)
at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.getXMLReader(AbstractUnmarsh
allerImpl.java:80)
at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshall
erImpl.java:131)
at granska.MyFrame.getRoot(MyFrame.java:253)
at granska.MyFrame.access$2(MyFrame.java:126)
at granska.MyFrame$AnalyzeThread.run(MyFrame.java:315)
java.security.AccessControlException: access denied
(java.util.PropertyPermission java.home read)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java
:270)
at
java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
at java.lang.System.getProperty(System.java:572)
at
org.apache.xerces.util.SecuritySupport12$2.run(SecuritySupport12.java:89)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.xerces.util.SecuritySupport12.getSystemProperty(SecuritySupport12
.java:86)
at
org.apache.xerces.util.ObjectFactory.createObject(ObjectFactory.java:187)
at
org.apache.xerces.util.ObjectFactory.createObject(ObjectFactory.java:137)
at org.apache.xerces.parsers.SAXParser.<init>(SAXParser.java:140)
at org.apache.xerces.parsers.SAXParser.<init>(SAXParser.java:125)
at org.apache.xerces.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:102)
at
org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImp
l.java:95)
at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.getXMLReader(AbstractUnmarsh
allerImpl.java:80)
at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshall
erImpl.java:131)
at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshall
erImpl.java:99)
at granska.MyFrame.getRoot(MyFrame.java:258)
at granska.MyFrame.access$2(MyFrame.java:126)
at granska.MyFrame$AnalyzeThread.run(MyFrame.java:315)
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------
My method is:
private Root getRoot( String _text) {
JAXBContext jc = null;
Unmarshaller unmarshaller = null;
try {
jc = JAXBContext.newInstance( "primer");
unmarshaller = jc.createUnmarshaller();
unmarshaller.setValidating( true);
} catch( Exception e) {
e.printStackTrace();
}
try {
char[] chars = _text.toCharArray();
HttpURLConnection servletConnection =
(HttpURLConnection)MyStatic.getURL().openConnection();
servletConnection.setDoOutput( true);
servletConnection.setDoInput( true);
servletConnection.setUseCaches( true);
servletConnection.setRequestMethod( "POST");
servletConnection.setRequestProperty( "Content-length",
String.valueOf( chars.length));
servletConnection.connect();
OutputStreamWriter toServlet = new OutputStreamWriter(
servletConnection.getOutputStream());
toServlet.write("text=");
toServlet.write( chars);
toServlet.flush();
toServlet.close();
InputSource source = new InputSource(
servletConnection.getInputStream());
source.setEncoding( "UTF-8");
return (Root)unmarshaller.unmarshal( source);
} catch( Exception e) {
e.printStackTrace();
}
try {
return (Root)unmarshaller.unmarshal( new StreamSource( new
StringReader( "<Root></Root>")));
} catch( Exception e) {
e.printStackTrace();
}
return null;
}