I am new to web services. have developed a simple rest web svc in java using Eclipse, Tomcat following this link. Application successfully runs on Tomcat but when i deploy it to IBM WebSphere 8.5.5. It deploys successfully but fails to start. I know its something with my Web.xml so i am adding it for rectification. Tried this but to no avail.
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>wstest</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Java WS</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>book</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Java WS</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
Web Sphere log generated when i try to start application is:-
0000112c ApplicationMg A WSVR0204I: Application: TestWS_war Application build level: Unknown 0000112c webapp E com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper constructServletMappings SRVE0303E: Servlet name for the servlet mapping /* could not be found. 0000112c DeployedAppli W WSVR0206E: Module, TestWS.war, of application, TestWS_war.ear/deployments/TestWS_war, failed to start 0000112c ApplicationMg W WSVR0101W: An error occurred starting, TestWS_war 0000112c ApplicationMg A WSVR0217I: Stopping application: TestWS_war 0000112c ApplicationMg A WSVR0220I: Application stopped: TestWS_war 0000112c CompositionUn E WSVR0194E: Composition unit WebSphere:cuname=TestWS_war in BLA WebSphere:blaname=TestWS_war failed to start. 0000112c MBeanHelper E Could not invoke an operation on object: WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=svrNode01, version=8.5.5.0,type=ApplicationManager,mbeanIdentifier=ApplicationManager, cell=svrNode01Cell,spec=1.0 because of an mbean exception: com.ibm.ws.exception.RuntimeWarning: SRVE0303E: Servlet name for the servlet mapping /* could not be found.
I have tried both Class loading options Parent First and Parent Last but to no avail.
Advertisement
Answer
It’s giving the error that “org.glassfish.jersey.servlet.ServletContainer” is missing in the Class path. Because of which the application is not starting.
See the version of Jersey that is compatible with WAS 8.5.5? (I think it’s Jersey 1.x). The corresponding library needs to be used.
<servlet> <servlet-name>javax.ws.rs.core.Application</servlet-name> </servlet> <servlet-mapping> <servlet-name>javax.ws.rs.core.Application</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping>