【问题标题】:Spring-WS: LazyInitializationException: could not initialize proxy - no SessionSpring-WS:LazyInitializationException:无法初始化代理 - 没有会话
【发布时间】:2013-05-08 09:34:47
【问题描述】:
我有一个使用 spring-mvc 和 hibernate 的应用程序。
为了避免在 mvc 控制器中出现 Hibernate 延迟初始化异常,我成功地使用了暴露的解决方案 here。
现在我必须在受相同问题影响的 spring-ws 服务中做同样的事情(如果可能的话)。
我尝试了this 技巧,但没有成功。
有什么想法吗?
是否有类似的 OpenSessionInViewInterceptor 可以放入 Web 服务拦截器?
【问题讨论】:
标签:
hibernate
spring-mvc
spring-ws
【解决方案1】:
我找到了解决办法,
只需在 web.xml 中指定 OpenSessionInViewFilter 并使用 url-pattern /ws/* 过滤 webservices 路径:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/ws/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>