Upgrading Servers to 22.2.11 and I am receiving an error in the Webswing.log
search cancel

Upgrading Servers to 22.2.11 and I am receiving an error in the Webswing.log

book

Article ID: 273354

calendar_today

Updated On:

Products

CA Spectrum

Issue/Introduction

2023-09-11 18:23:50,071 ERROR [https-jsse-nio-9443-exec-1] (WebswingServlet.java:84) Initialization of Webswing failed. 
org.webswing.exception.WsInitException: Could not instantiate configuration provider org.webswing.server.core.services.config.impl.ServerConfigurationProvider
        at org.webswing.server.core.services.config.impl.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:45) ~[webswing-server-core-23.1.3.jar:?]
        at org.webswing.server.core.services.startup.impl.StartupServiceImpl.start(StartupServiceImpl.java:30) ~[webswing-server-core-23.1.3.jar:?]
        at org.webswing.server.WebswingServlet.init(WebswingServlet.java:72) ~[classes/:?]
        at javax.servlet.GenericServlet.init(GenericServlet.java:143) ~[servlet-api.jar:4.0.FR]
        at jdk.internal.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at org.apache.catalina.security.SecurityUtil.lambda$execute$0(SecurityUtil.java:280) ~[catalina.jar:9.0.75]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:550) [?:?]
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:311) [catalina.jar:9.0.75]
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170) [catalina.jar:9.0.75]
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:123) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1097) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1063) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:747) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:115) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) [catalina.jar:9.0.75]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) [catalina.jar:9.0.75]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [catalina.jar:9.0.75]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673) [catalina.jar:9.0.75]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.75]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.75]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) [tomcat-coyote.jar:9.0.75]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-coyote.jar:9.0.75]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) [tomcat-coyote.jar:9.0.75]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) [tomcat-coyote.jar:9.0.75]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) [tomcat-coyote.jar:9.0.75]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.75]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.75]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.75]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.GeneratedConstructorAccessor57.newInstance(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
        at org.webswing.server.core.services.config.impl.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:39) ~[webswing-server-core-23.1.3.jar:?]
        ... 32 more
Caused by: org.webswing.exception.WsInitException: Webswing application configuration failed to load:
        at org.webswing.server.common.service.config.AbstractConfigurationProvider.loadConfiguration(AbstractConfigurationProvider.java:210) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.common.service.config.AbstractConfigurationProvider.<init>(AbstractConfigurationProvider.java:35) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.common.service.config.AbstractConfigurationProvider.<init>(AbstractConfigurationProvider.java:52) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.common.service.config.MigrationConfigurationProvider.<init>(MigrationConfigurationProvider.java:34) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.core.services.config.impl.ServerConfigurationProvider.<init>(ServerConfigurationProvider.java:22) ~[webswing-server-core-23.1.3.jar:?]
        at jdk.internal.reflect.GeneratedConstructorAccessor57.newInstance(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
        at org.webswing.server.core.services.config.impl.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:39) ~[webswing-server-core-23.1.3.jar:?]
        ... 32 more
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('"' (code 34)): was expecting comma to separate Object entries
 at [Source: (File); line: 10, column: 12]
        at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2418) ~[jackson-core-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:749) ~[jackson-core-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:673) ~[jackson-core-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextFieldName(UTF8StreamJsonParser.java:1061) ~[jackson-core-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR._deserializeNR(UntypedObjectDeserializerNR.java:230) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR.deserialize(UntypedObjectDeserializerNR.java:70) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:609) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:437) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4697) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3517) ~[jackson-databind-2.14.0-rc1.jar:2.14.0-rc1]
        at org.webswing.server.common.service.config.AbstractConfigurationProvider.loadConfiguration(AbstractConfigurationProvider.java:199) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.common.service.config.AbstractConfigurationProvider.<init>(AbstractConfigurationProvider.java:35) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.common.service.config.AbstractConfigurationProvider.<init>(AbstractConfigurationProvider.java:52) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.common.service.config.MigrationConfigurationProvider.<init>(MigrationConfigurationProvider.java:34) ~[webswing-server-common-23.1.3.jar:?]
        at org.webswing.server.core.services.config.impl.ServerConfigurationProvider.<init>(ServerConfigurationProvider.java:22) ~[webswing-server-core-23.1.3.jar:?]
        at jdk.internal.reflect.GeneratedConstructorAccessor57.newInstance(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
        at org.webswing.server.core.services.config.impl.ConfigurationServiceImpl.start(ConfigurationServiceImpl.java:39) ~[webswing-server-core-23.1.3.jar:?]
        ... 32 more
2023-09-11 18:23:50,089 INFO  [https-jsse-nio-9443-exec-1] (WebswingServlet.java:150) Webswing Server Stopped.

Environment

Release : 22.2

Cause

Missing comma in webswing.config file

Resolution

Open the $SPECROOT/webtomcat/webswing/webswing.config file in a text editor.

Find this section:

{
  "/" : {
    "path" : "/",
    "security" : {
      "module" : "EMBEDED",
      "config" : {
        "users" : [ {
          "username" : "spectrum",
          "password" : "$hashed$ETyes-yGlP4ivDuCJXjG47Qhygb2Ti9qeF1OZCOmoX4"
          "roles" : [ "admin" ]
        } ]
      }
    },

Note the missing comma after the password hash.  Should look like:

{
  "/" : {
    "path" : "/",
    "security" : {
      "module" : "EMBEDED",
      "config" : {
        "users" : [ {
          "username" : "spectrum",
          "password" : "$hashed$ETyes-yGlP4ivDuCJXjG47Qhygb2Ti9qeF1OZCOmoX4",
          "roles" : [ "admin" ]
        } ]
      }
    },

Save the file and restart Webtomcat service.