000036951 - ECAT API Server service won't start due to license failure in RSA NetWitness Endpoint 4.4.x

Document created by RSA Customer Support Employee on Nov 15, 2018
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000036951
Applies ToRSA Product Set: NetWitness Endpoint
RSA Product/Service Type: NetWitness Endpoint
RSA Version/Condition: 4.4.x
Platform: Windows
IssueThe ServiceStack license is contained in the apiserver.exe.config file. This contains a single string field, servicestack::license which allows the ApiServer application to access the ServiceStack Text feature of .NET. Without this core package, the service will not start.

Errors seen in the ApiServer command line output:

C:\Program Files\RSA\ECAT\Server>ApiServer.exe
System.TypeInitializationException: The type initializer for 'ServiceStack.Text.
JsConfig' threw an exception. ---> System.TypeInitializationException: The type
initializer for 'ServiceStack.LicenseUtils' threw an exception. ---> ServiceStac
k.LicenseException: This license has expired on 04/15/2016 and is not valid for
use with this release. Please see servicestack.net or contact team@servicestack.
net for more details.
   at ServiceStack.LicenseUtils.ValidateLicenseKey(LicenseKey key)
   at ServiceStack.LicenseUtils.RegisterLicense(String licenseKeyText)
   at ServiceStack.LicenseUtils..cctor()
   --- End of inner exception stack trace ---
   at ServiceStack.LicenseUtils.Init()
   at ServiceStack.Text.JsConfig..cctor()
   --- End of inner exception stack trace ---
   at ServiceStack.Text.JsConfig.InitStatics()
   at ServiceStack.Host.HttpListener.HttpListenerBase..ctor(String serviceName,
Assembly[] assembliesWithServices)
   at ServiceStack.AppSelfHostBase..ctor(String serviceName, Assembly[] assembli
   at c.a.a.X?.?()
   at c.a.a.X?.?(String[] A_0, Boolean A_1)

Event Viewer Error:

Application: ApiServer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: ServiceStack.LicenseException
   at ServiceStack.LicenseUtils.ValidateLicenseKey(ServiceStack.LicenseKey)
   at ServiceStack.LicenseUtils.RegisterLicense(System.String)
   at ServiceStack.LicenseUtils..cctor()

Exception Info: System.TypeInitializationException
   at ServiceStack.LicenseUtils.Init()
   at ServiceStack.Text.JsConfig..cctor()

Exception Info: System.TypeInitializationException
   at ServiceStack.Text.JsConfig.InitStatics()
   at ServiceStack.Host.HttpListener.HttpListenerBase..ctor(System.String, System.Reflection.Assembly[])
   at ServiceStack.AppSelfHostBase..ctor(System.String, System.Reflection.Assembly[])
   at c.a.a.Xᜁ.ᜃ()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

CauseThe root cause of why this is outdated has two possible explanations:
1. The apiserver.exe.config file is corrupt, and the line with the license file contains an incorrect license code as a result.
2. An old apiserver.exe.config file has been preserved or restored containing an old license file and thus will not allow the application to start without a core component.
ResolutionThe fix is to update the line in apiserver.exe.config with the correct value. An example of what is a CURRENT value as of this writing can be seen below:

<add key="servicestack:license" value="4867-e1JlZjo0ODY3LE5hbWU6RU1DIENvcnBvcmF0aW9uLFR5cGU6QnVzaW5lc3Ms SGFzaDpHZHBIejhJSG5MUWlzR1E5cWVMdTFTNjNZS25YaER6dE1qRFFld0VhM0tDY lRQWHM3eXZTYmZNeCtZV0toT3ZLQU1WR2N3dzVReTdkQTBqZU93YUVDTnprYktrTn hZTllMMkFxbHhoZHNnK3JlcGhPL1oyR0VkQTRabytWd0RxSXFZcnJJZVR6VzdLNnR rUHIzL2RtYkZIQlNQQ09jblpmZzVIMHVuTHE4Z3M9LEV4cGlyeToyMDE4LTA0LTE3 fQ=="/>

This is a current value, but may change in the future. The only section that must be updated is the value field.