Mapping File not Well Formed

Sample Configuration

The "target_entity name" should be bizservice (which is the CI type display name defined in Service Manager, and also the external class model name displayed in the UCMDB Visual Mapping tool interface); however you have configured a wrong name businessservice.

<?xml version="1.0" encoding="UTF-8"?>
<integration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../mappings_schema.xsd">
    <info>
        <source name="UCMDB" 	version="10.20" vendor="HP"/>
        <target name="SM" 	version="9.40"	vendor="HP"/>
    </info>
    <import>
        <scriptFile path="mappings.scripts.SMPushFunctions"/>
    </import>
    <!--
    	Push uCMDB CIT to SM Business Service.
    -->
    <target_entities>        
        <source_instance query-name="SM Business Service Push 2.0" root-element-name="Root" >
            <target_entity name="businessservice">                
                <target_mapping name="UCMDBId" datatype="STRING" value="Root['global_id']"/>
                <target_mapping name="CustomerId" datatype="STRING" value="SMPushFunctions.getCustomerId(CustomerInformation)"/>
                <target_mapping name="Type" datatype="STRING" value="'bizservice'"/>
                <target_mapping name="Subtype" datatype="STRING" value="SMPushFunctions.getSMSubType(Root['element_type'],ClassModel,'BizService')"/>
                <target_mapping name="ServiceProvider" datatype="STRING" value="Root['provider']"/>
                <target_mapping name="ServiceName" datatype="STRING" value="Root['display_label']"/>
                <target_mapping name="CIIdentifier" datatype="STRING" value="Root['display_label']"/>
            </target_entity>
        </source_instance>
    </target_entities>
</integration> 

Error Message

The data push job fails with a “Failed” status. From both the log file and the detailed error message of the failed job in the Universal CMDB studio (see How to Check the Error Message of a Failed Push Job), you receive an error like the following:

java.lang.RuntimeException: No mapping is found for TQL: "SM Business Service Push 2.0", or Cannot retrieve the mapping from SM side by QueryNodeName [businessservice", please configure in smPushConf.xml or SM configuration
	at com.mercury.topaz.fcmdb.adapters.serviceDeskAdapter.push.SmGenericPusher.push(SmGenericPusher.java:119)
	... 35 more
--- End of probe-side exception ---

	at com.hp.ucmdb.discovery.probe.agents.probemgr.adhoctasks.AdHocProbeRequestOperation.convertThrowableToStringSafeException(AdHocProbeRequestOperation.java:86)
	at com.hp.ucmdb.discovery.probe.agents.probemgr.adhoctasks.AdHocProbeRequestOperation.performAction(AdHocProbeRequestOperation.java:77)
	at com.hp.ucmdb.discovery.probe.agents.probemgr.taskdispatcher.AdHocTaskDispatcher.dispatchTask(AdHocTaskDispatcher.java:70)
	at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
	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.$Proxy57.dispatchTask(Unknown Source)
	at com.hp.ucmdb.discovery.probe.agents.probegw.managementtasks.adhoctasks.AdhocThread.run(AdhocThread.java:54)
	... 3 more

Solution

Search for the relevant CI type in Service Manager to find the correct display name, and then modify the mapping file with the correct name.

Tip You can easily fix such kind of validation issues by using the UCMDB Visual Mapping tool to generate the mapping file.