Upgrading from Spok Mobile 3.5 to 4.6 - Troubleshooting Directory Lookup
After upgrading from Spok Mobile 3.5 to 4.6, the directory lookup feature may not work. This issue arises when the [CONFIGURATION_INFO] table in the [AmcomAmcPremiseCore] database contains duplicate entries. Spok Mobile 3.5 uses HTTP, while 4.6 uses HTTPS; this can result in duplicate entries for the same item in the table, one for HTTP and one for HTTPS.
-
Run the following query to check for duplicate values for a particular configuration name.
SELECT NAME, COUNT(*) VALUECOUNT FROM [AmcomAmcPremiseCore].[dbo].[CONFIGURATION_INFO] WHERE NAME IN('contact.service.url','contact.service.api.url','assets.service.url','authentication.service.url','message.service.url','command.service.url','config.service.url') GROUP BY NAME HAVING COUNT(*) > 1;
If this query returns any duplicate values, proceed with the steps below. If it returns only unique values, the steps below are not necessary. - If the script in step 1 returned any duplicate values, run the following query to check whether there is an HTTPS value associated with the configuration name.
SELECT NAME, VALUE FROM [AmcomAmcPremiseCore].[dbo].[CONFIGURATION_INFO] WHERE NAME IN('contact.service.url','contact.service.api.url','assets.service.url','authentication.service.url','message.service.url','command.service.url','config.service.url') AND VALUE LIKE 'HTTPS://%';
- Run the following query to determine if there is also an HTTP value associated with the configuration name and, if so, to delete it.
DELETE FROM [AmcomAmcPremiseCore].[dbo].[CONFIGURATION_INFO] WHERE NAME IN('contact.service.url','contact.service.api.url','assets.service.url','authentication.service.url','message.service.url','command.service.url','config.service.url') AND VALUE LIKE 'HTTP://%';
- Run the following query to verify that the duplicate HTTP entry does not exist for the configuration name. This query should not return anything.
SELECT NAME, COUNT(*) VALUECOUNT FROM [AmcomAmcPremiseCore].[dbo].[CONFIGURATION_INFO] WHERE NAME IN('contact.service.url','contact.service.api.url','assets.service.url','authentication.service.url','message.service.url','command.service.url','config.service.url') GROUP BY NAME HAVING COUNT(*) > 1;