Searching the Help
To search for information in the Help, type a word or phrase in the Search box. When you enter a group of words, OR is inferred. You can use Boolean operators to refine your search.
Results returned are case insensitive. However, results ranking takes case into account and assigns higher scores to case matches. Therefore, a search for "cats" followed by a search for "Cats" would return the same number of Help topics, but the order in which the topics are listed would be different.
Search for | Example | Results |
---|---|---|
A single word | cat
|
Topics that contain the word "cat". You will also find its grammatical variations, such as "cats". |
A phrase. You can specify that the search results contain a specific phrase. |
"cat food" (quotation marks) |
Topics that contain the literal phrase "cat food" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying an OR operator, which finds topics with one of the individual words instead of the phrase. |
Search for | Operator | Example |
---|---|---|
Two or more words in the same topic |
|
|
Either word in a topic |
|
|
Topics that do not contain a specific word or phrase |
|
|
Topics that contain one string and do not contain another | ^ (caret) |
cat ^ mouse
|
A combination of search types | ( ) parentheses |
|
Mapping File for the Federation TQL Query Is not Well Formed
Error Message
There are cases where the mapping file for a federation TQL query is not well formed. For example, target_mapping_name “priority” in the following example federation mapping file specifies a wrong Groovy function name (SMFederationFunctions.getEnumValue1):
<?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="SM" version="9.40" vendor="HP"/> <target name="UCMDB" version="10.20" vendor="HP"/> </info> <import> <scriptFile path="mappings.scripts.SMFederationFunctions"/> </import> <target_entities> <source_instance query-name="SM Incident 2.0" root-element-name="ucmdbIncident"> <target_entity name="incident"> <target_mapping name="reference_number" datatype="STRING" value="ucmdbIncident['IncidentID']"/> <target_mapping name="name" datatype="STRING" value="ucmdbIncident['BriefDescription']"/> <target_mapping name="priority" datatype="STRING" value="SMFederationFunctions.getEnumValue1(ucmdbIncident['PriorityCode'],'Priority')"/> <target_mapping name="incident_status" datatype="STRING" value="SMFederationFunctions.firstLetterToLowerAndReplaceSpaceWithUnderscore(ucmdbIncident['IMTicketStatus'])"/> <target_mapping name="category" datatype="STRING" value="SMFederationFunctions.replaceSpaceWithUnderscore(ucmdbIncident['Category'])"/> <target_mapping name="closed_time" datatype="DATE" value="SMFederationFunctions.convertDate(ucmdbIncident['ClosedTime'])"/> <target_mapping name="create_time" datatype="DATE" value="SMFederationFunctions.convertDate(ucmdbIncident['OpenTime'])"/> <target_mapping name="last_modified_time" datatype="DATE" value="SMFederationFunctions.convertDate(ucmdbIncident['UpdatedTime'])"/> <target_mapping name="impact_scope" datatype="STRING" value="SMFederationFunctions.getEnumValue(ucmdbIncident['ImpactScope'],'ImpactScope')"/> <target_mapping name="urgency" datatype="STRING" value="SMFederationFunctions.getEnumValue(ucmdbIncident['Urgency'],'Urgency')"/> </target_entity> </source_instance> </target_entities> </integration>
When you try to federate incidents, no records are retrieved from Service Manager. If you check the fcmdb.push.all.log file, you can find a detailed error message that resembles the following for the federation query:
2014-11-20 14:09:58,670 [AdHoc:AD_HOC_TASK_PATTERN_ID-66-1416463796366] ERROR - >> Failed executing value [SMFederationFunctions.getEnumValue1(ucmdbIncident['PriorityCode'],'Priority')] of mapping <target_mapping name="priority"> <target_ci_type name="incident"> , Root cmdbId [null] groovy.lang.MissingMethodException: No signature of method: static mappings.scripts.SMFederationFunctions.getEnumValue1() is applicable for argument types: (java.lang.String, java.lang.String) values: [1, Priority] Possible solutions: getEnumValue(java.lang.String, java.lang.String) at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1359) at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1345) at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:50) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) at Mapping_4a8761e7adc009e8a7d268c2f1349ab4.run(Mapping_4a8761e7adc009e8a7d268c2f1349ab4.groovy:1) at com.hp.ucmdb.adapters.instance.mapping.AbstractResultTreeNodeMapper.calculateProperties(AbstractResultTreeNodeMapper.java:231) at com.hp.ucmdb.adapters.instance.mapping.AbstractResultTreeNodeMapper.processTargetEntity(AbstractResultTreeNodeMapper.java:301) at com.hp.ucmdb.adapters.instance.mapping.RtnToRtnMapper.processTargetEntities(RtnToRtnMapper.java:214) at com.hp.ucmdb.adapters.instance.mapping.RtnToRtnMapper.processSourceInstanceWrapper(RtnToRtnMapper.java:101) at com.hp.ucmdb.adapters.instance.mapping.RtnToRtnMapper.buildResultTreeNode(RtnToRtnMapper.java:76) at com.hp.ucmdb.adapters.GenericAdapter$PopulationFederationChunkProcessor.invoke(GenericAdapter.java:1213) at com.hp.ucmdb.adapters.GenericAdapter.getDataResult(GenericAdapter.java:743) at com.hp.ucmdb.discovery.probe.processor.FederationTopologyGetDataResultProbeRequestProcessor.processRequest(FederationTopologyGetDataResultProbeRequestProcessor.java:40) at com.hp.ucmdb.discovery.probe.processor.FederationTopologyGetDataResultProbeRequestProcessor.processRequest(FederationTopologyGetDataResultProbeRequestProcessor.java:26) at com.hp.ucmdb.discovery.probe.processor.AbstractProbeProcessor.process(AbstractProbeProcessor.java:56) at com.hp.ucmdb.discovery.probe.processor.AbstractProbeProcessor.process(AbstractProbeProcessor.java:19) at com.hp.ucmdb.discovery.probe.agents.probemgr.adhoctasks.AdHocProbeRequestOperation.performAction(AdHocProbeRequestOperation.java:63) at com.hp.ucmdb.discovery.probe.agents.probemgr.taskdispatcher.AdHocTaskDispatcher.dispatchTask(AdHocTaskDispatcher.java:70) at sun.reflect.GeneratedMethodAccessor75.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.$Proxy51.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)
Solution
Search for word "Exception" in the fcmdb.push.all.log file to find the wrong method name, and then correct it in the corresponding federation mapping file.