Article Content
Article Number | 000036954 |
Applies To | RSA Product Set: Identity Governance & Lifecycle RSA Product/Service Type: Enterprise Software RSA Version/Condition: 7.x Platform: WebSphere |
Issue | In RSA Identity Governance & Lifecycle, ServiceNow collectors are failing after upgrading an IBM WebSphere Application Server to 8.5.5.8 and higher. This means that the ServiceNow collectors are no longer able to collect the data from the ServiceNow endpoint. The following error can be found in the aveksaServer.log when the ServiceNow collector fails upon testing: 11/02/2018 13:40:51.312 ERROR (SIBJMSRAThreadPool : 2) [com.aveksa.server.utils.NodeMessageBroker] Exception while getting test data from collector com.aveksa.server.runtime.ServerException: org.apache.cxf.service.factory.ServiceConstructionException. Caused by javax.xml.bind.JAXBException - with linked exception: [java.lang.reflect.InvocationTargetException]. Caused by java.lang.reflect.InvocationTargetException. Caused by java.lang.ClassCastException: com.aveksa.servicenow.wsdl.user.Update$JaxbAccessorF_accumulatedRoles incompatible with com.sun.xml.internal.bind.v2.runtime.reflect.Accessor Caused By Stack org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:413) at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:442) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:680) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:505) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:242) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:202) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90) at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:117) at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:124) at com.aveksa.collector.servicenow.util.StubCreator.createUserStub(StubCreator.java:126) at com.aveksa.collector.servicenow.adc.ServiceNowFujiAccountDataReader.testConnection(ServiceNowFujiAccountDataReader.java:47) at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collectData(AccountDataCollector.java:351) at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collect(AccountDataCollector.java:302) Caused by: javax.xml.bind.JAXBException - with linked exception: [java.lang.reflect.InvocationTargetException] at org.apache.cxf.jaxb.JAXBUtils.createRIContext(JAXBUtils.java:577) at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:410) ... 25 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at org.apache.cxf.jaxb.JAXBUtils.createRIContext(JAXBUtils.java:575) ... 26 more Caused by: java.lang.ClassCastException: com.aveksa.servicenow.wsdl.user.Update$JaxbAccessorF_accumulatedRoles incompatible with com.sun.xml.internal.bind.v2.runtime.reflect.Accessor at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:197) at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:189) at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:279) at com.sun.xml.internal.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:85) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:86) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:58) at java.lang.reflect.Constructor.newInstance(Constructor.java:542) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:126) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:179) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:498) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:315) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:138) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1140) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:143) ... 31 more End Stack at com.aveksa.server.core.DataCollector$TestDataCollectionResult.getBinaryData(DataCollector.java:897) at com.aveksa.server.core.DataCollector.getTestData(DataCollector.java:684) at com.aveksa.server.core.DataCollector.getTestDataString(DataCollector.java:689) at com.aveksa.server.utils.SONDataRequestHandler.handleCollectorTest(SONDataRequestHandler.java:102) at com.aveksa.server.utils.SONDataRequestHandler.notifyMessage(SONDataRequestHandler.java:50) at com.aveksa.server.message.MessageSubscriberProvider.distributeMessage(MessageSubscriberProvider.java:78) at com.aveksa.server.message.SubscriberMDB.onMessage(SubscriberMDB.java:77) at com.ibm.ejs.container.WASMessageEndpointHandler.invokeJMSMethod(WASMessageEndpointHandler.java:138) at com.ibm.ws.ejbcontainer.mdb.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1146) at com.ibm.ws.ejbcontainer.mdb.MessageEndpointHandler.invoke(MessageEndpointHandler.java:844) at com.sun.proxy.$Proxy28.onMessage(Unknown Source) at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoint(JmsJcaEndpointInvokerImpl.java:258) at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java:919) at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProcessListener.java:597) at com.ibm.ejs.j2c.work.WorkProxy$RunWork.run(WorkProxy.java:281) at java.security.AccessController.doPrivileged(AccessController.java:422) at javax.security.auth.Subject.doAs(Subject.java:494) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:133) at com.ibm.ejs.j2c.work.WorkProxy$RunWork.run(WorkProxy.java:284) at java.security.AccessController.doPrivileged(AccessController.java:396) at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:65) at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:666) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892) For WebSphere, the aveksaServer.log may be found in a directory similar to the following, (where the specific node name would be different) /home/oracle/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/vm-support-11Node01Cell/aveksa.ear/aveksa.war/log. |
Cause | There is a missing required JVM argument. |
Resolution | For IBM WebSphere Application Server 8.5.5.8 and higher, we have to add a new JVM argument below:
The argument is shown below: Use the following steps to add the new JVM argument in IBM WebSphere Application Server 8.5.5.8 and higher:
-Djavax.xml.bind.JAXBContext=com.sun.xml.internal.bind.v2.ContextFactory
|