1 package org.codehaus.xfire.spring.remoting;
2
3 import javax.servlet.http.HttpServletRequest;
4 import javax.servlet.http.HttpServletResponse;
5
6 import org.codehaus.xfire.spring.ServiceBean;
7 import org.springframework.web.servlet.ModelAndView;
8 import org.springframework.web.servlet.mvc.Controller;
9
10
11 /***
12 * Web controller that exports the specified service bean as a XFire Soap service endpoint.
13 *
14 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse </a>
15 * @author <a href="mailto:poutsma@mac.com">Arjen Poutsma</a>
16 */
17 public class XFireExporter
18 extends ServiceBean
19 implements Controller
20 {
21 private XFireServletControllerAdapter delegate;
22
23 public void afterPropertiesSet()
24 throws Exception
25 {
26 super.afterPropertiesSet();
27
28 delegate = new XFireServletControllerAdapter(getXfire(),
29 getXFireService().getServiceInfo().getName());
30 }
31
32 /***
33 * Process the incoming SOAP request and create a SOAP response.
34 *
35 * @param request current HTTP request
36 * @param response current HTTP response
37 * @return <code>null</code>
38 * @throws Exception in case of errors
39 */
40 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
41 throws Exception
42 {
43 return delegate.handleRequest(request, response);
44 }
45 }