Integrate > Third Party Integrations > ServiceNow Integration Using Enhanced Generic Adapter > ServiceNow Generic Adapter Enhancements in CP27

ServiceNow Generic Adapter Enhancements in CP27

This section provides information about new features and enhancements added to ServiceNow enhanced adapter in Content Pack 27.

  • The following topologies are supported by the adapter in terms of population:

  • Added the following new properties in the adapter.properties file:

    • Jakarta and Kingston supportability

      class.model.use.internal.tables – Always uses internal schema tables.

      If you set class.model.use.internal.tables=true, the ServiceNow enhanced adapter loads the ServiceNow class model from the meta data files packed in this adapter. Otherwise, the adapter queries the ServiceNow instance that is integrated and downloads it.

      It is recommended to set this property to true if you have customized the OOTB ServiceNow class model.

    • Relationship-based topology population

      • preload.rel.table - Preloads relationship tables when the adapter starts.
      • force.reload - Forces the reloading of the CMDB_CI_REL table cache.
    • Advanced logging

      • show.interface.rtn – Displays Result Tree Nodes (RTNs) just before returning them to the interface in the debug log.

        The adapter’s logger is improved when it is set to DEBUG. The RTNs are printed when they are passed to UCMDB’s identification engine. You need to activate the show.interface.rtn property.

        The following events are logged during a Population scenario:

        • When the adapter is initialized
        • When the table structure is fetched
        • When the RTN records are created from ServiceNow responses
        • When the RTNs are added to the cache
        • When the integration job starts and completes

        Advanced logging parameters and appenders for the standard population of relationship for the referenced topology:

        # To add additional debugging for specific parent and child CI when retrieving relationships
        # in case of Standard topology population NOT! Relationship topology population
        # you must also add this appender to the <UCMDB_DataFlowProbe>\conf\log\fcmdb.properties file
        #log4j.category.servicenow.generic.adapter.debug.ids=TRACE,servicenow.generic.adapter.debug.ids.appender
        #log4j.appender.servicenow.generic.adapter.debug.ids.appender=com.mercury.topaz.cmdb.shared.base.log.BetterRollingFileAppender
        #log4j.appender.servicenow.generic.adapter.debug.ids.appender.File=${logs.dir}/debug.ids.servicenow.generic.adapter.log
        #log4j.appender.servicenow.generic.adapter.debug.ids.appender.MaxFileSize=50240KB
        #log4j.appender.servicenow.generic.adapter.debug.ids.appender.MaxBackupIndex=${def.files.backup.count}
        #log4j.appender.servicenow.generic.adapter.debug.ids.appender.layout=org.apache.log4j.PatternLayout
        #log4j.appender.servicenow.generic.adapter.debug.ids.appender.layout.ConversionPattern=${msg.layout}
      • debug.parent.sys.id – The debug parent sys_id. For example, debug.parent.sys.id=4961134adb218b0044d476231f9619e9
      • debug.child.sys.id – The debug child sys_id. For example, debug.parent.sys.id=08421b4adb218b0044d476231f9619a1
    • sysparm.display.value – Uses display label instead of sys_id for lookup attributes. This works only for one level population; otherwise the adapter cannot use the display value for dot walking.

      To resolve an existing issue where reference fields display the value of sys_id instead of the actual values, the following configuration is added into ServiceNowConfig.xml.

      sysparm_display_value=true
      • If this value is set to true, the RTN contains the display value of the reference field.
      • If this value is set to false, the sys_id value is used.
    • SSL proxy improvements

      ssl.trust.all=true – Trust all remote certificates. This is necessary if you want to have a proxy enabled with an SSL connection but you do not want to add the certificates to the UCMDB Trust Store.

      The ssl.trust.all=true option is used if authentication is not a concern, for example, if you require private secure communications, and want to save the time and expense in obtaining a CA certificate, and use a self-signed certificate.

      This option can also be used in debugging SSL connection issues. For example:

      ERROR  [pool-5-thread-1] - Unable to execute rest request.
      javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
      at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:992)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
      ERROR  [pool-5-thread-1] - Service unavailable. Remote host closed connection during handshake
      Retrying after 60 seconds.
  • Retry mechanism improvements

    The connector’s retry mechanism works when a SOAP Fault error occurs. In addition to response codes, the adapter continues to retry whenever a timeout is reached.

    This behavior is enabled by default and it improves the adapter’s fault tolerance.