SecurityException thrown in OMAbstractFactory when run from an applet
---------------------------------------------------------------------
Key: WSCOMMONS-57
URL: http://issues.apache.org/jira/browse/WSCOMMONS-57
Project: WS-Commons
Type: Bug
Components: AXIOM
Reporter: Shreyes Seshasai
This problem appears when creating AXIOM objects in a java applet. In my
specific case, the applet is acting as an Axis2 web service client without data
binding. Prior to creating the OMElement to send to the service, the applet
calls OMAbstractFactory.getOMFactory(). This method calls
System.getProperty(OM_FACTORY_NAME_PROPERTY), but because java applets aren't
given this permission by default, it immediately throws a SecurityException.
This can be avoided by placing the call in a try/catch and using the default
value if it hits the exception. The same problem/solution applies to the other
2 methods in the class as well.
----- Original -----
public static OMFactory getOMFactory() {
try {
String omFactory = System.getProperty(OM_FACTORY_NAME_PROPERTY);
if (omFactory == null || "".equals(omFactory)) {
omFactory = DEFAULT_OM_FACTORY_CLASS_NAME;
}
return (OMFactory) Class.forName(omFactory).newInstance();
} catch (InstantiationException e) {
throw new OMException(e);
} catch (IllegalAccessException e) {
throw new OMException(e);
} catch (ClassNotFoundException e) {
throw new OMException(e);
}
}
----- Suggested Fix -----
public static OMFactory getOMFactory() {
String omFactory;
try {
omFactory = System.getProperty(OM_FACTORY_NAME_PROPERTY);
} catch (SecurityException e) {
omFactory = DEFAULT_OM_FACTORY_CLASS_NAME;
}
try {
if (omFactory == null || "".equals(omFactory)) {
omFactory = DEFAULT_OM_FACTORY_CLASS_NAME;
}
return (OMFactory) Class.forName(omFactory).newInstance();
} catch (InstantiationException e) {
throw new OMException(e);
} catch (IllegalAccessException e) {
throw new OMException(e);
} catch (ClassNotFoundException e) {
throw new OMException(e);
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]