IM 14.3 fails to start up with undertow related errors
search cancel

IM 14.3 fails to start up with undertow related errors

book

Article ID: 193787

calendar_today

Updated On:

Products

CA Identity Manager CA Identity Suite

Issue/Introduction

IM 14.3 fails to start up with undertow related errors.

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.subunit."iam_im.ear"."user_console.war".undertow-deployment.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jboss.deployment.subunit."iam_im.ear"."user_console.war".undertow-deployment.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer from [Module "deployment.iam_im.ear.user_console.war" from Service Module Loader]

Resolution

Be sure that the the following jar files are removed from the /iam_im.ear/user_console.war/WEB-INF/lib folder on the application server and that the application server's /tmp/ and /data/ folder contents are also removed as class conflicts will occur that will cause undertow related errors.

jersey-client-1.17.1.jar
jersey-core-1.17.1.jar
jersey-json-1.17.1.jar
jersey-multipart-1.17.1.jar
jersey-server-1.17.1.jar
jersey-servlet-1.17.1.jar
jsr311-api-1.1.1.jar

Also make sure that the web.xml under the /iam_im.ear/user_console.war/WEB-INF folder contains the following:

 <servlet>
  <servlet-name>IAM FW Web Service</servlet-name>
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  <init-param>
   <param-name>javax.ws.rs.Application</param-name>
   <param-value>com.ca.identitymanager.webservices.WebServicesApplication</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 
instead of the older configuration of:

    <servlet>
      <servlet-name>IAM FW Web Service</servlet-name>
      <servlet-class>
        com.sun.jersey.spi.container.servlet.ServletContainer
      </servlet-class>
      <init-param>
        <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
        <param-value>com.sun.jersey.api.container.filter.PostReplaceFilter</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>