IBM Support

PK78900: TESTING FOR JAXB FAILED WITH JAVA 2 SECURITY ENABLED FAILED WITH ACCESSCONTROLEXCEPTION

Subscribe

You can track all active APARs for this component.

 

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