We have App Portal integrated with FNMS for license checks. We have the "Enable Advanced License Check with FlexNet Manager Suite" option checked. But for the non-licensed products we are not defining a Flexera ID. The Admin UI Error Logs are showing errors for "Server was unable to process request ----> Application with ID does not exist or you do not have permission"
When I check the FNMSIntegration.log file it shows the same error and when i trace back the requestor the product they were requesting isn't licensed nor does it have any FNMS product information listed (flexera ID, etc). These errors are concerning to the customer and can make it difficult to determine what is a true failure and what isnt.
Has this symptom been identified before and is there a way to prevent App Portal from checking FNMS for licenses for a non-licensed product?
We are on App Portal 2018 R1.
TIA
May 05, 2021 08:18 AM
For reference, we're dealing with the properties on this UI page: https://docs.flexera.com/appportal/2021r1/ag/Content/helplibrary/AP_CatItemProp_FNMP_Map.htm
I highly recommend to all my customers that they define a Flexera ID mapping for all catalog items, even if not performing a license check, as it can be used for other functions beyond just the license check. For applications that aren't in our Application Recognition Library (ARL), you can add local application entries within FlexNet Manager (they have a slightly different format, but work exactly the same). Assuming these applications are not internal-only applications, you can also submit a support case requesting to have them added to the ARL in a future update.
Now, having said that, for catalog items where you don't want to perform a license check, you should uncheck both boxes on the above-referenced page. In most cases, both boxes should be checked or both boxes should be unchecked. There are rare cases where you might want to check the box for the standard license check and uncheck the box for the advanced license check, but you should never have it configured the other way around. Also note that if you don't have a Flexera ID mapped, you should not even see those checkboxes appear in the UI. Unfortunately, if I recall correctly, selecting the "Clear" button at the top of that page to remove the Flexera ID mapping will actually set the advanced license check value in the DB to NULL rather than 0, and the code interprets anything non-zero as true, so adding a mapping and saving it, then clearing the mapping will actually remove the Flexera ID and cause an advanced license check to be performed without having a valid Flexera ID. This is likely what you're seeing in the logs. If you want to get rid of these errors, you have a few options:
May 05, 2021 10:03 AM
For reference, we're dealing with the properties on this UI page: https://docs.flexera.com/appportal/2021r1/ag/Content/helplibrary/AP_CatItemProp_FNMP_Map.htm
I highly recommend to all my customers that they define a Flexera ID mapping for all catalog items, even if not performing a license check, as it can be used for other functions beyond just the license check. For applications that aren't in our Application Recognition Library (ARL), you can add local application entries within FlexNet Manager (they have a slightly different format, but work exactly the same). Assuming these applications are not internal-only applications, you can also submit a support case requesting to have them added to the ARL in a future update.
Now, having said that, for catalog items where you don't want to perform a license check, you should uncheck both boxes on the above-referenced page. In most cases, both boxes should be checked or both boxes should be unchecked. There are rare cases where you might want to check the box for the standard license check and uncheck the box for the advanced license check, but you should never have it configured the other way around. Also note that if you don't have a Flexera ID mapped, you should not even see those checkboxes appear in the UI. Unfortunately, if I recall correctly, selecting the "Clear" button at the top of that page to remove the Flexera ID mapping will actually set the advanced license check value in the DB to NULL rather than 0, and the code interprets anything non-zero as true, so adding a mapping and saving it, then clearing the mapping will actually remove the Flexera ID and cause an advanced license check to be performed without having a valid Flexera ID. This is likely what you're seeing in the logs. If you want to get rid of these errors, you have a few options:
May 05, 2021 10:03 AM
@jdempsey We have 865 packages created and 841 have NULL set for CheckFNMPAdvancedLicensePosition. We are using a bulk catalog import script to create these catalog items and I am thinking something is occurring during import that is causing this. That number seems high to have added and removed FlexeraIDs. In the interim I believe bulk updating these values to '0' will resolve our issues until such a time when the customer chooses to add a FlexeraID to all catalog items.
Thanks for the detailed response.
May 05, 2021 10:24 AM
I'd guess that the bulk import is setting the FUID column to an empty string in the WD_WebPackages table, where it should be null. How many rows are returned by the following query?
select * from wd_webpackages where FUID = ''
those are two single quotes....
If any just run an update query similar to the following to resolve:
update wd_webpackages set FUID = null where FUID = ''
May 05, 2021 10:29 AM
I see 3 packages for that query. I looked through our script and I dont see anything that even references the FNMS license positions, but nonetheless we have 841 with a null value.
May 05, 2021 10:31 AM
@dbeckner for bulk import purposes, make sure that the catalog item template you are using for the import has a Flexera ID mapped (doesn't matter what ID as long as one is mapped) and then uncheck both license check boxes on the template. The checkboxes will apply to the resulting catalog items created from the template, but the Flexera ID will not transfer from the template to the catalog items. That should solve your problem.
May 05, 2021 10:31 AM
That makes alot of sense. We will add that to our process. Thanks alot.
May 05, 2021 10:33 AM
@jdempsey After bulk setting all NULL values to 0 the error persists. I will monitor for the day. If it continues occurring I'm guessing the best method to resolve would be to add a FlexeraID to all products?
May 05, 2021 10:44 AM
I don't know if any of that information gets cached. Maybe try an IISReset and/or restart the ESDService?
May 05, 2021 11:10 AM
Looks like it just needed time to propagate. The error is no longer occurring. Thanks so much for the help on this.
May 05, 2021 11:45 AM
@jdempsey @CharlesW I'm looking back at this as I am now looking to implement a permanent process for this in the catalog creation. I understand that the best way to avoid this behavior is to add a valid Flexera ID for every single product we create and just uncheck the boxes for license checks if they are products we dont want to check licenses for.
We have 1097 products created. i'd like to avoid going back through each one manually to add a Flexera ID. For all the products where there is no Flexera iD. Would it be possible to do a bulk update similar to --
update wd_webpackages set FUID = <valid Flexera ID> where FUID = NULL
Will this automatically register in the UI properly or do we need to handle this process manually?
Sep 29, 2021 07:25 AM
To directly answer your question, yes, doing a bulk update on WD_Catalog as you've suggested for all catalog items with a NULL FUID will result in a "mapping" within the UI. However, if you aren't planning to set valid (correct) FUID's for each catalog item, then I wouldn't really bother setting them all to some random value. I would just leave them blank/NULL and make sure that the CheckFNMPLicensePosition and CheckFNMPAdvancedLicensePosition are both set to 0. As for new catalog item creation, create a catalog item template that has a Flexera ID mapped (any Flexera ID is fine in this case) and has both license check boxes unchecked. You can call it something like Template-Software-NoLicenseCheck. Then when you create new catalog items where you don't want to perform a license check (either through the UI or via API), choose that template and the resulting catalog item will have no FUID (unless you explicitly set one) and will have both CheckFNMPxxxx columns set to 0 (i.e. unchecked).
Sep 30, 2021 01:01 AM