Unable to execute service: PluginImporter

Which IIQ version are you inquiring about?

Version 8.3

Share all details related to your problem, including any error messages you may have received.

Dear community,

When I start the server I see the below error

sailpoint.server.InternalContext@2e9431af, service = sailpoint.services.standard.pluginimporter.PluginImporterService@7877c1f6)
2024-04-14 12:23:02,045 ERROR ServerThread sailpoint.server.Servicer:1059 - Unable to execute service: PluginImporter
java.lang.NullPointerException: null
at java.io.File.(File.java:361) ~[?:?]
at sailpoint.services.standard.pluginimporter.PluginImporterService.getFiles(PluginImporterService.java:104) ~[ssb-plugin-importer.jar:?]
at sailpoint.services.standard.pluginimporter.PluginImporterService.processUninstallDirectory(PluginImporterService.java:203) ~[ssb-plugin-importer.jar:?]
at sailpoint.services.standard.pluginimporter.PluginImporterService.execute(PluginImporterService.java:89) ~[ssb-plugin-importer.jar:?]
at sailpoint.server.Servicer.execute(Servicer.java:1056) [identityiq.jar:8.3p3 Build d5deab2519b-20230629-092050]
at sailpoint.server.Servicer.processServices(Servicer.java:1007) [identityiq.jar:8.3p3 Build d5deab2519b-20230629-092050]
at sailpoint.server.Servicer.run(Servicer.java:750) [identityiq.jar:8.3p3 Build d5deab2519b-20230629-092050]

After enable the log I could spot

2024-04-14 13:00:04,743 INFO main sailpoint.server.Servicer:544 - Adding service: PluginImporter
2024-04-14 13:00:04,743 INFO main sailpoint.server.Servicer:327 - Auto starting service: Cache
2024-04-14 13:00:05,337 DEBUG main sailpoint.server.Servicer:649 - The SMListener service will not start because its ServiceDefinition does not specify any hosts. IdentityIQ is currently running on myHost.
2024-04-14 13:00:05,337 DEBUG main sailpoint.server.Servicer:649 - The ResourceEvent service will not start because its ServiceDefinition does not specify any hosts. IdentityIQ is currently running on myHost.

in the serviceDefinition is which is part of the default serviceDeinition in the ssb project

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ServiceDefinition PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ServiceDefinition name="PluginImporter" hosts="global" interval="86400" executor="sailpoint.services.standard.pluginimporter.PluginImporterService">
    <Attributes>
    <Map>
      <entry key="installpath" value="WEB-INF/plugins/ssb/install"/>
        <entry key="installpath" value="WEB-INF/plugins/ssb/install"/>
    </Map>
  </Attributes>
      <Description>
      Service definition for the SSB plugin importer service. Interval is in seconds. e.g. 86400 is 1 day.
      The installpath and uninstallpath are used to describe the relative pathing for plugins.
      Recommendation is to use default values, but legacy area under plugins/system/SSB/install or plugins/system/SSB/uninstall can be used as well.
      If you change the installpath, the Task Resulter and Log Level Manager plugins included in the SSD will not be automatically deployed.
      The paths get appended to sailpoint.tools.Util.getApplicationHome() and are from the app server perspective.
      Forward slashes here work for Windows or Linux.
    </Description>
</ServiceDefinition>

I try to change the host from “global” to “myhost” but still getting the error

Thank in advance

Hi Sara, did you fqdn as your hostname?

Hi Sara,

It look like you defined the installpath twice and not the uninstall path.

Can you update the service definition to:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ServiceDefinition PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ServiceDefinition name="PluginImporter" hosts="global" interval="86400" executor="sailpoint.services.standard.pluginimporter.PluginImporterService">
    <Attributes>
    <Map>
      <entry key="installpath" value="WEB-INF/plugins/ssb/install"/>
      <entry key="uninstallpath" value="WEB-INF/plugins/ssb/uninstall"/>
    </Map>
  </Attributes>
      <Description>
      Service definition for the SSB plugin importer service. Interval is in seconds. e.g. 86400 is 1 day.
      The installpath and uninstallpath are used to describe the relative pathing for plugins.
      Recommendation is to use default values, but legacy area under plugins/system/SSB/install or plugins/system/SSB/uninstall can be used as well.
      If you change the installpath, the Task Resulter and Log Level Manager plugins included in the SSD will not be automatically deployed.
      The paths get appended to sailpoint.tools.Util.getApplicationHome() and are from the app server perspective.
      Forward slashes here work for Windows or Linux.
    </Description>
</ServiceDefinition>

Please also check if the directory WEB-INF/plugins/ssb is on your server if you are using SSB to (un)install Plugins.

If you don’t install PlugIns with SSB, but directly on the IIQ Console or IIQ UI, you can disable the Plugin Importer.

– Remold

1 Like

Thank you @Remold good catch!

1 Like