mvc form example spring-mvc spring-ws
https://code.google.com/p/spring-ws-2-0-0-rc2-tutorial/downloads/detail?name=spring-ws.zip&can=2&q=

form - ¿Puedo usar Spring MVC y Spring WS en una sola aplicación?



Básicamente, hay una aplicación de back-end que está exponiendo tanto SOAP como los servicios RESTful.

He decidido usar Spring WS 1.5.8 para los servicios SOAP, y
Spring MVC 3.0 para servicios REST, ya que esta es una característica nueva.

Al leer un poco sobre Spring WS (¡soy nuevo en esto!) tenemos que declarar un "MessageDispatcherServlet" que es un controlador frontal, en web.xml para Spring WS.

Para Spring MVC debemos declarar un "DispatcherServlet" que también es un controlador frontal, en web.xml.

para ambos servlets tenemos diferentes declaraciones de servlets en web.xml.

es decir, para Spring WS tengo

<servlet> <servlet-name>springsoap</servlet-name> <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springsoap</servlet-name> <url-pattern>/soapservices/*</url-pattern> </servlet-mapping>

para Spring MVC (RESTful) tengo

<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/restservices/*</url-pattern> </servlet-mapping>

Por lo tanto, debo usar 2 archivos de configuración? ¿Uno llamado springmvc-servlet.xml y otro springsoap-servlet.xml?

Se puede hacer esto ?


Sí, esto está bien. Pones las cosas relacionadas con MVC en una, y las cosas WS en otra.

Si necesitan compartir servicios, es mejor declarar un contexto compartido utilizando ContextLoaderListener en web.xml , que define un tercer contexto que debe contener los beans compartidos ( consulte la documentación, por ejemplo, cómo configurar esto ).

Tampoco vale la pena que MessageDispatcherServlet sea ​​solo un montaje conveniente de un DispatcherServlet estándar más algunos otros componentes. Solo puedes declarar esos componentes por ti mismo y usar un DispatcherServlet , pero eso se vuelve bastante complicado.