NoSuchSiteID: 4294967295 while calling ImportAction in IEM 9.5.x

We have recently migrated from IEM 9.2.x to 9.5.x. We are using a perl mechanism to create IEM actions for specific fixlets.

After the migration the ImportAction method is throwing this NoSuchSiteID: 4294967295 (biggest integer number).

The site id for which we are making the call is valid. The call worked before without a problem.
I have tracked this up until the point we are making the call to IEM:
The call looks something like:
$result = $xmlImporter->ImportAction($actionXMLDocument->XML(), $targetXMLsafearray, $siteID, $fixletID, $g_apiusername, $g_apipassword );

the XML importer object is set correctly, the action xml is also set as it should be.

Even if the data seems to be fine I get back this exception from IEM:
NoSuchSiteID: 4294967295

I have checked the signature for the ImportAction method and it didn’t changed. The arguments that I’m sending are correct.
My question is what should I do to fix this?
Thank you.

Did you just upgrade from 9.2 to 9.5 or did you also migrate to a new server? What steps did you take? Based on this error, it looks like you reinstalled on a new system using the same masthead/license, which could cause the actionsite siteID to change. Run the following relevance in the Presentation Debugger in the console or the QNA page in Web Reports (e.g. http://:8080/webreports?page=QNA) to confirm that siteID is still valid:

Q: (id of it, name of it) of bes sites

Hi Steve,
It was just un upgrade. The upgrade operation was not done by me. The upgrade was done on an existing IEM server. The side ids are the same there was no change I have checked.

What I have noted is that I can use the method Import to create IEM actions (providing the XML payload that is required). There are no errors and the actions are created properly even for the ones that are failing while trying to use ImportAction.

It looks to me that the ImportAction method is not working. I’m suspecting that the reason is because of the parameters passed.
The definition of ImportAction says it the site id and the fixlet id need to be UNIT64 and I’m passing them as INT. I’m not sure if in Active Perl 5.8.8 (this is the distribution I’m using) there is a library that can make this conversion. The value that I’m passing as site id is 1 so there shouldn’t be conversion problem.

In any case this worked before with 9.2 version and it is not working in 9.5.4.

I have come up with a work around and I’m now using the Import method but it looked strange to me that the ImportAction is not working any more.

It might have changed from UINT to UINT64 between 9.2 and 9.5 cause the change in interpretation of your passed INT, so that seems the likely problem. I would strongly recommend changing your application to use our REST API, which should be much simpler to work with, and provides much more capability than the older COM API.

I think you are right Steve. I have made a change just to make it work again.
The plan on a long term is to move to REST API as you suggested.

There are some performance issues with the REST API though :slight_smile:. We have started using it for a different application and the HTTP server from IEM is not working very well if there are many requests from REST API.
It does crash but it is not responding appropriately. But I think that is a different topic :slight_smile:.

Thank you for your notes and for your time.