If you are experiencing API connection issues between the Snow License Manager and Inventory (INV) servers, your configuration may be incorrect or inconsistent. This article describes common symptoms of a sub-optimal configuration and guides you through the steps to achieve a more reliable setup.
These steps may not resolve all API communication issues, but they establish a known-good baseline for troubleshooting.
Symptoms
Functional symptoms
You may experience one or more of the following:
- Virtualization data not transferring from Inventory to Snow License Manager
- Oracle DB / Oracle Middleware / Java data not transferring
- Users, computers, or devices are not being deleted
- Other API-related functions fail
Log entries
You may also observe errors such as:
C:\Program Files\Snow Software\Logs\InventoryService\InventoryService_<DATE>_InventoryService.log
18:43:10,069 24 ERROR UserDeleteService; No valid API-endpoint found, aborting!
18:43:10,195 25 ERROR DeviceDeleteService; No valid API-endpoint found, aborting!
C:\ProgramData\SnowSoftware\Inventory\Server\snowserver-<DATE>.log
2022-03-01T15:54:17+00:00;request;master;;;Error processing request GET '/v1/Inventory.ashx'.
[System.Net.WebException]: Unable to connect to the remote server
at System.Net.HttpWebRequest.GetResponse()
at SnowSoftware.Inventory.Server.Service.Api.MasterLegacyWebHandlerController.Get(String method, String site, String config, String[] sections)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
C:\Program Files\Snow Software\Logs\VirtualizationService\VirtualizationMessagingService_<DATE>.log
2022-03-01 16:04:18.619 +00:00 [WRN] (SnowSoftware.Virtualization.Services.Data.ApiService) TenantId=1, source not accessible: <INVENTORY_URL>:<PORT>
C:\Program Files\Snow Software\Logs\OracleManagementOption\OracleManagementOptionService_<DATE>.log
2022-03-01 16:06:14.108 +00:00 [WRN] (SnowSoftware.OracleManagementOption.Services.Data.ApiService) TenantId=1, source not accessible: <INVENTORY_URL>:<PORT>
These indicate communication issues on the API.
Root cause
The issue is typically caused by incorrect or inconsistent configuration of BaseAddress and ApiEndpoint on the Inventory server.
Common problematic configurations include:
- BaseAddress and ApiEndpoint using the same URL and port
- BaseAddress configured without an ApiEndpoint entry
- BaseAddress and ApiEndpoint pointing to different URLs
The recommended configuration is for both entries to use the same URL, with different ports.
IMPORTANT: This issue cannot be resolved by editing snowserver.config alone. The master Inventory server must be removed and recreated.
1. Verify the Inventory server details
Open a browser and navigate to the Inventory server's base address. Examine the certificate and record the following:
- URL – check that this matches the certificate Subject, or is included in the Subject Alternative Name. (Example:
https://labinvsrv.robslab.local) - Port – if you're using HTTPS with no port specified, the standard 443 is assumed.
- Thumbprint – make a note of this; you'll need it to identify the correct certificate later.
2. Check the current configuration
Open snowserver.config on the Inventory server and inspect the <BaseAddress> and <ApiEndpoint> entries inside the <Server> block. You may find:
- Both entries pointing to the same URL and the same port
- No
<ApiEndpoint>line at all - The two entries pointing to completely different URLs
Any of these indicates a configuration that is not aligned with the recommended setup.
3. Prepare for the rebuild
- Back up
snowserver.configso any environment-specific customizations can be retained and reapplied at the end of the process.
-
- Do NOT just copy this file back in afterward. Customizations should be reapplied manually.
- Choose an alternate port for the ApiEndpoint. Port 444 is a good choice. Make sure the port you choose:
-
- Is not already in use
- Is open to requests from the Snow License Manager server in the firewall
- Gather the information you'll need: URL, port, and certificate thumbprint (recorded in step 1).
4. Remove the master server
Using the Snow Inventory Server Configuration Manager:
- Stop and remove the master service.
- Choose New Installation.
- Choose Create master server.
5. Recreate the master server
Walk through the configuration wizard:
- Enter the Company name and License key, then proceed to the next page.
- Enter the details for the SQL connection.
- At the HTTP Bindings screen, configure both tabs as follows:
Base Address tab
-
- Select the correct certificate from the Cert:\LocalMachine\My certificate store, identifying it via the thumbprint if more than one is present.
- Set the network interface to listen on (typically All unassigned).
- Ensure the port is set to 443.
- Set the DNS name.
License Manager tab
-
- Select the same certificate as before.
- Set the network interface to listen on (typically All unassigned).
- Ensure the port is set to 444.
- Set the DNS name.
- Click Next to finish the configuration as usual.
- Once complete, start the new master service.
6. Reapply customizations (if applicable)
Reapply any required customizations from the previous snowserver.config.
If you make changes to snowserver.config, restart the Snow Software Inventory Server service afterward.
You should now see the two URLs match but use different ports in snowserver.config:
<BaseAddress>https://labinvsrv.robslab.local:443</BaseAddress>
<ApiEndpoint>https://labinvsrv.robslab.local:444</ApiEndpoint>
7. Update Snow License Manager's awareness of the change
The Snow License Manager database may update automatically, but a manual update is often required.
Check the current state by running these queries:
SELECT * FROM [SnowInventory].[inv].[ServerAddress]
SELECT * FROM [SnowLicenseManager].[dbo].[tblServerAddress]
SELECT * FROM [SnowLicenseManager].[inv].[tblServerAddress]
All three URLs should match and use the alternate port (444 in this example).
If any do not match, run these procedures to bring them in line:
EXEC SnowInventory.slm.GetServerAddress;
EXEC SnowLicenseManager.inv.UpdateServerAddress;
Then re-run the SELECT queries to confirm.
- Inventory Server: Snow Inventory Server service
- License Manager Server: Snow Software Inventory Service
NOTE: You may have to restart these services if changes don't take effect.
Verification
When the configuration is corrected, everything should match up as follows:
- The actual URL of the Inventory server matches <BaseAddress>:<port>
- The three URLs returned from the database queries all match <ApiEndpoint>:<port>
Recheck the logs to confirm that API communication errors are no longer present.
Related Articles
Configure Microsoft Endpoint Configuration Manager (SCCM) Software Inventory used by SVM server 22Number of Views Creating a SQL Database backup of Snow Inventory and Snow License Manager to send to Snow Support 36Number of Views When Snow Inventory reaches the license limit, snowpacks are moved to Error folder and data is missing in Snow License Man… 99Number of Views How to troubleshoot "Handshake failed" error between Snow Inventory 5 Agent and Snow Inventory 5 Server 97Number of Views Snow License Manager: How to look for duplicates 179Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago