Spring web-scoped豆和axis2

时间:2012-12-11 07:40:33

标签: web-services spring integration axis2 web.xml

我想在AXIS2框架上编写的Web服务中使用spring web-scoped bean。 如何配置? Axis2和Spring文档彼此不一致。

Axis2 documentation says

For the purpose of this example, we'll configure Spring via a WAR file's web.xml. Let's add a context-param and a listener:
<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

Spring documentation says

When using a Servlet 2.4+ web container, with requests processed outside of Spring's DispatcherServlet (e.g. when using JSF or Struts), you need to add the following javax.servlet.ServletRequestListener to the declarations in your web application's 'web.xml' file.
<web-app>
  ...
  <listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>
  ...
</web-app>

当我使用Axis2推荐的ContextLoaderListener和Spring web-scoped bean时,我进行了部署

  

java.lang.IllegalStateException:找不到线程绑定请求:是   您指的是实际Web请求之外的请求属性,   或处理原始接收线程之外的请求?如果   您实际上是在Web请求中运行并仍然收到此信息   消息,你的代码可能在外面运行   DispatcherServlet / DispatcherPortlet:在这种情况下,请使用   RequestContextListener或RequestContextFilter公开当前   请求。

当我使用Spring推荐的RequestContextListener时,我在运行Web服务时遇到了错误请求:

        <faultstring>The SERVICE_OBJECT_SUPPLIER parameter is not specified.</faultstring>

换句话说:如何使用Spring和RequestContextListener配置AXIS2?

1 个答案:

答案 0 :(得分:0)

AXIS2中没有此类功能。有关详细信息,请参阅请求https://issues.apache.org/jira/browse/AXIS2-5467“扩展Spring支持以接受Web范围的bean”。