Highlighted
Absent Member.
Absent Member.
179 views

UCMDB Support Tip : SCCM integration fails on ‘Test Connection’

Issue description:

Sometimes an SCCM integration point may fail to pass the ‘Test Connection’.

However it may not be a credential or a network problem as you may be able to connect from probe to MSSQL where SCCM is hosted with MSSQL client application.

 

The following errors can be found in UCMDB log and it indicates generic_db_adapter.node class cannot be found:

 

[ERROR] [AdHoc:AD_HOC_TASK_PATTERN_ID-399-1440422156220] (FederationNoneLifeCycleProbeProcessor.java:72) - Failed executing none life cycle federation request [com.hp.ucmdb.discovery.probe.request.TestConnectionProbeRequest] for integration [SCCM1]

com.hp.ucmdb.federationspi.exception.DataAccessCommunicationException: Test connection failed

                at com.mercury.topaz.fcmdb.adapters.dbAdapter.DBAdapter.testConnection(DBAdapter.java:165)

                at com.hp.ucmdb.discovery.probe.processor.TestConnectionProbeRequestProcessor.processFederationNoneLifeCycle(TestConnectionProbeRequestProcessor.java:18)

                at com.hp.ucmdb.discovery.probe.processor.TestConnectionProbeRequestProcessor.processFederationNoneLifeCycle(TestConnectionProbeRequestProcessor.java:12)

                at com.hp.ucmdb.discovery.probe.processor.FederationNoneLifeCycleProbeProcessor.process(FederationNoneLifeCycleProbeProcessor.java:63)

                at com.hp.ucmdb.discovery.probe.processor.FederationNoneLifeCycleProbeProcessor.process(FederationNoneLifeCycleProbeProcessor.java:27)

                at com.hp.ucmdb.discovery.probe.agents.probemgr.adhoctasks.AdHocProbeRequestOperation.performAction(AdHocProbeRequestOperation.java:59)

                at com.hp.ucmdb.discovery.probe.agents.probemgr.taskdispatcher.AdHocTaskDispatcher.dispatchTask(AdHocTaskDispatcher.java:70)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                at java.lang.reflect.Method.invoke(Method.java:601)

                at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111)

                at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45)

                at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:235)

                at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)

                at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)

                at javax.management.StandardMBean.invoke(StandardMBean.java:405)

                at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

                at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:792)

                at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:305)

                at org.springframework.jmx.access.MBeanClientInterceptor.doInvoke(MBeanClientInterceptor.java:405)

                at org.springframework.jmx.access.MBeanClientInterceptor.invoke(MBeanClientInterceptor.java:353)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

                at com.sun.proxy.$Proxy49.dispatchTask(Unknown Source)

                at com.hp.ucmdb.discovery.probe.agents.probegw.managementtasks.adhoctasks.AdhocThread.run(AdhocThread.java:54)

                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)

                at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)

                at java.lang.Thread.run(Thread.java:722)

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: GenericDBAdapter] Unable to configure EntityManagerFactory

                at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)

                at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)

                at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)

                at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)

                at com.mercury.topaz.fcmdb.adapters.dbAdapter.DBAdapter.testConnectionUsingPersistenceXML(DBAdapter.java:173)

                at com.mercury.topaz.fcmdb.adapters.dbAdapter.DBAdapter.testConnection(DBAdapter.java:150)

                ... 28 more

Caused by: org.hibernate.MappingException: Error while parsing file: META-INF/orm.xml

                at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:937)

                at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:758)

                at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)

                at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)

                ... 33 more

Caused by: org.hibernate.AnnotationException: Unable to load class defined in XML: generic_db_adapter.node

                at org.hibernate.cfg.AnnotationConfiguration.add(AnnotationConfiguration.java:697)

                at org.hibernate.cfg.AnnotationConfiguration.addInputStream(AnnotationConfiguration.java:779)

                at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:929)

                ... 36 more

Caused by: java.lang.ClassNotFoundException: generic_db_adapter.node

                at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

                at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

                at java.security.AccessController.doPrivileged(Native Method)

                at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

                at java.lang.ClassLoader.loadClass(ClassLoader.java:423)

                at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

                at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

                at java.lang.Class.forName0(Native Method)

                at java.lang.Class.forName(Class.java:266)

                at org.hibernate.annotations.common.util.ReflectHelper.classForName(ReflectHelper.java:78)

                at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.classForName(JavaReflectionManager.java:79)

                at org.hibernate.cfg.AnnotationConfiguration.add(AnnotationConfiguration.java:694)

                ... 38 more

 

Solution:

When you have this issue, try the below given steps:

 

  1. Deactivate the problematic integration point.
  2. Delete all classes from Probe side which are created by the SCCM adapter under \UCMDB\DataFlowProbe\runtime\probeManager\discoveryConfigFiles\<adapter name>\generic_db_adapter\  (make a backup of these files before deleting them)
  3. Clean up the adapter orm.xml file. It should look like this (make a backup of the removed content since you will add it later) :
       <?xml version="1.0" encoding="UTF-8"?>
    entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"
                     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
        <description>SCCM DB adapter ORM</description>
        <package>generic_db_adapter</package>
    </entity-mappings>
  4. Save the orm.xml file. 
  5. Activate the problematic integration point from Integration Studio. It should run without any issue.
  6. Now update the orm.xml file with the entity data you removed earlier.
  7. Save the orm.xml.
  8. At this point the created classes should run properly and in folder  \UCMDB\DataFlowProbe\runtime\probeManager\discoveryConfigFiles\<adapter name>\generic_db_adapter\ you should see the classes that were created.

 

Regards,
Hao Yang

“HP Support
If you find that this or any post resolves your issue, please be sure to mark it as an accepted solution.”

Click the KUDOS star on the left to say 'Thanks'
Labels (1)
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.