1 package org.codehaus.xfire.spring;
2
3 import javax.servlet.ServletConfig;
4 import javax.servlet.ServletException;
5
6 import org.codehaus.xfire.XFire;
7 import org.codehaus.xfire.transport.http.XFireServlet;
8 import org.springframework.context.ApplicationContext;
9 import org.springframework.web.context.support.WebApplicationContextUtils;
10
11 /***
12 * An servlet which exposes XFire services via Spring.
13 *
14 * @author Jason Carreira <jcarreira@eplus.com>
15 */
16 public class XFireSpringServlet
17 extends XFireServlet
18 {
19 private String xfireBeanName = "xfire";
20
21 private XFire xfire;
22
23 public void init(ServletConfig servletConfig)
24 throws ServletException
25 {
26 ApplicationContext appContext = WebApplicationContextUtils
27 .getRequiredWebApplicationContext(servletConfig.getServletContext());
28 String configBeanName = servletConfig.getInitParameter("XFireBeanName");
29
30 xfireBeanName = ((configBeanName != null) && (!"".equals(configBeanName.trim()))) ? configBeanName
31 : xfireBeanName;
32
33 xfire = (XFire) appContext.getBean(xfireBeanName, XFire.class);
34 super.init(servletConfig);
35 }
36
37 public XFire createXFire()
38 {
39 return xfire;
40 }
41 }