i trying implement rest webservice using apache cxf (non-spring). have configured web.xml , added 1 end-point address, works fine want add 1 more end-point address or 1 more service class , unable because second 1 overrides first one. web.xml this
<servlet> <display-name>cxfnonspringjaxrsservlet</display-name> <servlet-name>cxfnonspringjaxrsservlet</servlet-name> <servlet-class>org.apache.cxf.jaxrs.servlet.cxfnonspringjaxrsservlet</servlet-class> <init-param> <param-name>jaxrs.serviceclasses</param-name> <param-value>abc</param-value> </init-param> <init-param> <param-name>jaxrs.address</param-name> <param-value>/abc</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <display-name>cxfnonspringjaxrsservlet</display-name> <servlet-name>cxfnonspringjaxrsservlet</servlet-name> <servlet-class>org.apache.cxf.jaxrs.servlet.cxfnonspringjaxrsservlet</servlet-class> <init-param> <param-name>jaxrs.serviceclasses</param-name> <param-value>xyz</param-value> </init-param> <init-param> <param-name>jaxrs.address</param-name> <param-value>/xyz</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
you can have multiple endpoints:
web.xml
<servlet> <servlet-name>s1</servlet-name> <servlet-class> org.apache.cxf.jaxrs.servlet.cxfnonspringjaxrsservlet </servlet-class> <init-param> <param-name>jaxrs.serviceclasses</param-name> <!-- multiple resource classes separated space --> <param-value> com.gsdev.resource1 com.gsdev.resource2 com.ttdev.bs.bookselectionsresource </param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>s1</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> resource classes like:
@path("endpoint1/") public class resource1 @path("endpoint2/") public class resource2 now have different endpoints as
http://host:port/webapp/services/endpoint1/ http://host:port/webapp/services/endpoint2/
Comments
Post a Comment