JAX-RS without jersey on WAS7

2019-04-29 04:44发布

问题:

I have JAX-RS WS application deployed on WAS 8.0 with an empty 2.4 web.xml, class that extends 'javax.ws.rs.core.Application' and 2 resources, and it works great.

I would like to deploy this application on WAS 7.0, but I'm getting: 'Error 404: SRVE0190E: File not found: /rest/source' (that's the path of the resource).

How can I deploy JAX-RS application on WAS 7.0 without using Jersey or any other application-server related classes?

Thanks

回答1:

In WAS 7 you must defined the servlet in the web.xml:

<servlet>
    <description>JAX-RS Tools Generated - Do not modify</description>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>YOUR APPLICATION CLASS</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

Also, WAS 7 isn't bundle with JAX-RS you should add the JAX-RS jars to your web module or add it as a shared library.