APAR status
Closed as program error.
Error description
When running internal testing with Java 2 security enabled, the test failed with AccessControlException
Local fix
Workaround is to add the ReflectPermission in the "application" codeBase in app.policy: grant codeBase "file:${application}" { ... permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; };
Problem summary
**************************************************************** * USERS AFFECTED: Users of the WebSphere Application Server * * V7 Feature Pack for Service Component * * Architecture (SCA) who run with * * Java 2 security enabled. * **************************************************************** * PROBLEM DESCRIPTION: AccessControlException seen when * * running SCA applications with Java 2 * * security enabled * **************************************************************** * RECOMMENDATION: * **************************************************************** AccessControlException seen when running SCA applications with Java 2 security enabled due to missing doPrivileged() in the runtime code. Application failure will result from this exception. A detailed stack trace like the following will be seen: java.security.AccessControlException: Access denied (java.lang.reflect.ReflectPermission suppressAccessChecks) at java.security.AccessController.checkPermission(AccessController. java:108) at java.lang.SecurityManager.checkPermission(SecurityManager.java:5 32) at com.ibm.ws.security.core.SecurityManager.checkPermission(Securit yManager.java:210) at java.lang.reflect.AccessibleObject.setAccessible(AccessibleObjec t.java:118) at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldRefle ction.<init>(Accessor.java:189) at com.sun.xml.internal.bind.AccessorFactoryImpl.createFieldAccesso r(AccessorFactoryImpl.java:61) at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.cre ateFieldSeed(RuntimeClassInfoImpl.java:228) at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.cre ateFieldSeed(RuntimeClassInfoImpl.java:58) at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.findFieldP roperties(ClassInfoImpl.java:353) at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.getPropert ies(ClassInfoImpl.java:270) at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.get Properties(RuntimeClassInfoImpl.java:152) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInf o(ModelBuilder.java:202) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getC lassInfo(RuntimeModelBuilder.java:74) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getC lassInfo(RuntimeModelBuilder.java:56) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInf o(ModelBuilder.java:168) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getC lassInfo(RuntimeModelBuilder.java:69) at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getC lassInfo(RuntimeModelBuilder.java:56) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo (ModelBuilder.java:274) at com.sun.xml.internal.bind.v2.model.impl.RegistryInfoImpl.<init>( RegistryInfoImpl.java:75) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.addRegistry (ModelBuilder.java:316) at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo (ModelBuilder.java:286) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfo Set(JAXBContextImpl.java:428) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXB ContextImpl.java:282) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Contex tFactory.java:115) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Contex tFactory.java:93) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Contex tFactory.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:45) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at com.ibm.xml.xlxp2.jaxb.JAXBContextImpl.createFallbackContext(JAX BContextImpl.java:230) at com.ibm.xml.xlxp2.jaxb.JAXBContextImpl.<init>(JAXBContextImpl.ja va:107) at com.ibm.xml.xlxp2.jaxb.JAXBContextFactory.createContext(JAXBCont extFactory.java:37) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:45) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:144) at javax.xml.bind.ContextFinder.find(ContextFinder.java:297) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:383) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:348) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache.getJAXB Context(JAXBContextCache.java:247) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache.getJAXB Context(JAXBContextCache.java:289) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.create JAXBContext(JAXBContextHelper.java:181) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.create JAXBContext(JAXBContextHelper.java:103) at org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.create JAXBContext(JAXBContextHelper.java:98) at org.apache.tuscany.sca.databinding.jaxb.Node2JAXB.transform(Node 2JAXB.java:44) at org.apache.tuscany.sca.databinding.jaxb.Node2JAXB.transform(Node 2JAXB.java:34) at org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPo int$LazyPullTransformer.transform(DefaultTransformerExtensionPoi nt.java:200) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(Med iatorImpl.java:81) at org.apache.tuscany.sca.implementation.java.injection.JavaPropert yValueObjectFactory$ObjectFactoryImpl.getInstance(JavaPropertyVa lueObjectFactory.java:237) at org.apache.tuscany.sca.implementation.java.injection.FieldInject or.inject(FieldInjector.java:62) at org.apache.tuscany.sca.implementation.java.context.ReflectiveIns tanceFactory.newInstance(ReflectiveInstanceFactory.java:80) at org.apache.tuscany.sca.implementation.java.invocation.JavaCompon entContextProvider.createInstanceWrapper(JavaComponentContextPro vider.java:101) at org.apache.tuscany.sca.implementation.java.invocation.JavaImplem entationProvider.createInstanceWrapper(JavaImplementationProvide r.java:190) at org.apache.tuscany.sca.core.scope.AbstractScopeContainer.createI nstanceWrapper(AbstractScopeContainer.java:65) at org.apache.tuscany.sca.core.scope.StatelessScopeContainer.getWra pper(StatelessScopeContainer.java:38) at org.apache.tuscany.sca.implementation.java.invocation.JavaImplem entationInvoker.invoke(JavaImplementationInvoker.java:98) at com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.invokeNe xtInterceptor(RuntimeExtensionManager.java:211) at com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.processM essage(RuntimeExtensionManager.java:96) at com.ibm.ws.soa.sca.runtime.impl.RuntimeTuscanyInterceptor.invoke (RuntimeTuscanyInterceptor.java:174) at com.ibm.ws.soa.sca.binding.sca.SCAServiceBindingProvider.invokeS erviceOperation(SCAServiceBindingProvider.java:525) at com.ibm.ws.soa.sca.binding.sca.SCAServiceBindingProvider.invokeF romTargetInvoker(SCAServiceBindingProvider.java:444) at com.ibm.ws.soa.sca.binding.sca.SCATargetInvoker.invokeLocal(SCAT argetInvoker.java:233) at com.ibm.ws.soa.sca.binding.sca.SCATargetInvoker.invoke(SCATarget Invoker.java:205) at com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.invokeNe xtInterceptor(RuntimeExtensionManager.java:211) at com.ibm.ws.soa.sca.runtime.impl.RuntimeExtensionManager.processM essage(RuntimeExtensionManager.java:96) at com.ibm.ws.soa.sca.runtime.impl.RuntimeTuscanyInterceptor.invoke (RuntimeTuscanyInterceptor.java:174) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invo ke(JDKInvocationHandler.java:287) at org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invo ke(JDKInvocationHandler.java:154) // application code should follow on stack trace
Problem conclusion
The necessary doPrivileged() was added to the runtime code to fix the problem.
Temporary fix
Comments
APAR Information
APAR number
PK78900
Reported component name
WAS SCA FEATURE
Reported component ID
5724J0854
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-01-19
Closed date
2009-02-16
Last modified date
2009-03-24
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WAS SCA FEATURE
Fixed component ID
5724J0854
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.0.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
09 February 2022