Object Exporter XML - Error when exporting

Which IIQ version are you inquiring about?

8.4p2

Please share any images or screenshots, if relevant.

image

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

Hello,

We recently updated IdentityIQ from version 8.3 to 8.4, then applied the patch (8.4p2). We ran the appropriate scripts to verify the creation of the new Access History DB and confirmed the implementation / upgrade was successful. When testing we noticed that the Object XML Exporter plugin is no longer functioning and throwing an error (see above).

We have previously had the 4.1 version of the plugin installed, and the plugin was tested / working prior to the upgrade. Since the upgrade we cannot use the Export XML Object task as it fails.

  1. We have uninstalled the 4.1 version and installed 4.2.
  2. We attempted to uninstall and reinstall a second time.
  3. We deleted the task definitions and the ExportXML.class file
  4. We deleted the 4.2 plugin and reinstalled

I have gone through all of our files and everything appears to be in proper form. I checked our QA env (which hasn’t been upgraded) and the exporter is still functioning just fine..

There seems to be an issue with the upgrade itself causing something within the plugin to break. I’ve put in a support case with @SailPoint but they indicated that this isn’t a OOTB feature and they can’t provide any support despite they developing the plugin and the upgrade breaking said plugin.

I wanted to reach out to the community to see if anyone has faced such an error and any way to possibly troubleshoot / resolve the error. Any comments or assistance would be super valuable and helpful!

Thanks everyone!

Hi @MRP4ND4 can you send a screenshot of your Export XML Task options?

Enable the log to get more information
private static Log log = LogFactory.getLog(ObjectExporter.class);

https://community.sailpoint.com/t5/Professional-Services/IdentityIQ-Object-Exporter-Plugin/ta-p/190179

Sure, here’s a picture:

Would the adding the logging be done in the ExportXML.class file or within the TaskDefinition from debug/Object Browser?

Hi Cody,

we did face the issue, we just updated the exporter plugin. Please update the exported plugin and then try it.
https://community.sailpoint.com/t5/Professional-Services/IdentityIQ-Object-Exporter-Plugin/ta-p/190179

You can add logging directly in the ExportXML.class file to get more details about what’s failing . And please try disable/enable the plugin in IIQ console then restart the server

I added logging to the logj4 file and found that when the exporter is triggered it isn’t finding the .jar file.

I’ve uninstalled and re-installed the Exporter plugin, disabled it, turned it back on, confirmed the jar is within the .zip, etc.. And still the same issue..

Very perplexed…

Reading the upgrade documentation for 8.4 I noticed this blurb:

“If you want to use plugins that require independent persistence, you must create the plugin database. This database is
not created as part of the standard database upgrade script. Customize and run the script contained in WEBINF/
database/plugins/create_identityiq_plugins_db.database_type using a database client.
If you installed a patch to the previous version of IdentityIQ, you could receive the following errors when running the
upgrade DDL. Because the patch contains all of the required changes from the base revision, some of the changes
could have been applied when a patch was installed.”

Does the XML Object Exporter plugin require this database?

Absolutely not — the XML Object Exporter plugin does not require a separate plugin database. I recently upgraded IIQ from 8.1 to 8.5 and we had several custom plugins (including Object Exporter) running without any issues, no extra DB was needed.

That note in the documentation is only for plugins that explicitly require independent persistence (i.e. they need their own DB schema for storing plugin-specific data). Object Exporter doesn’t fall into that category, so you can safely skip creating the plugin DB.

1 Like

I agree because I also upgraded but didn’t find any issues.

1 Like

Hi @MRP4ND4

Use the Object XML Exporter 4.2 release built for IIQ 8.4p2 (Java 11) and deploy it into your webapp’s WEB-INF/lib directory so it’s compiled against the 8.4 API. Then clear your tomcat/work and temp folders and restart the IIQ webapp. That ensures the plugin sees the new sailpoint.object classes (e.g. HistoricalAccountCapture) and will run without the “class not found” errors.

@MRP4ND4 Let’s reinstall the plugin again, please download from the following link

https://community.sailpoint.com/t5/Professional-Services/IdentityIQ-Object-Exporter-Plugin/ta-p/190179

Thanks

@SivaLankapalli

So when I go into my WEB-INF/lib, there is nothing but .jar files. So I’m going to drop the .zip and extract it within that lib

Should I also add the .zip / .jar file into the plugins/ssb/install ?

I’ve tried this several times without any positive result..

The plugin should be deployed by placing the plugin’s .jar file (extracted from the .zip) into your webapp’s WEB-INF/lib directory. Do not unzip the .zip contents directly into WEB-INF/lib. After copying the .jar file, clear Tomcat’s work and temp folders, then restart the IdentityIQ webapp. The plugins/ssb/install directory is for SSB deployment automation and not used for manual plugin .jar deployment.

I’ve followed those steps after uninstalling the app (removing from the plugin page). Unfortunately, there is still no result and I’m still getting a nullpointer..

Hi @MRP4ND4 , could you please share the log trace from Catalina.out or sailpoint.log

Thanks

@SivaLankapalli

Plugin Error Logs.txt (162.8 KB)

I grabbed the logs and then got all the logs that had to do with the plugin. There seems to be a few errors within the logs including some errors from the db

Hi @MRP4ND4 , apologies for responding so late.

I see that the error-causing service definition files are missing in your installation/upgrade.

Go to the debug page and search for the ServiceDefinition Object name as “SupportPluginService”. Ensure you have this. If not, you can add/import the SupportPluginService ServiceDefinition.

This ServiceDefinition is not a direct relationship. But it may work. Please check and let me know.

Thanks @SivaLankapalli

1 Like