spring4gwt error:Spring bean not found: querySenior

70 views
Skip to first unread message

Alex Luya

unread,
Nov 23, 2015, 3:17:43 AM11/23/15
to GWT Users

I am trying to make gwt-2.7 work with spring-4.2.3.Configurations are:

web.xml

<!-- spring config -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Spring GWT integration -->
<servlet>
    <servlet-name>springGwtRemoteServiceServlet</servlet-name>
    <servlet-class>org.spring4gwt.server.SpringGwtRemoteServiceServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>springGwtRemoteServiceServlet</servlet-name>
    <url-pattern>/idp_web/service/*</url-pattern>
</servlet-mapping>

applicationContext.xml

<beans 
...
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
....
default-lazy-init="true">

<!-- auto-inject bean by annotation mechanism -->
<context:component-scan
    base-package="com.vsi.idp.analysis.server,
                    com.vsi.idp.base.server,
                    com.vsi.idp.kpi.server,
                    com.vsi.idp.map.server,
                    com.vsi.idp.statistics.server" />

     //other configurations
</beans>

GWT services

@RemoteServiceRelativePath("service/querySenior")
public interface SeniorQueryService extends RemoteService{...}

service impl

@Service("querySenior")
public class SeniorQueryServiceImpl extends RemoteServiceServlet implements SeniorQueryService{...}

Spock unit test works fine

@ContextConfiguration(locations = "file:war/WEB-INF/applicationContext.xml")
public class SeniorQueryServiceImplTest extends Specification{

  @Autowired
  SeniorQueryServiceImpl service

  def "query by full address"(){
      //blabla
  }
}

Running gwt project tells:

Failed to load resource: the server responded with a status of 500 (Server Error)

Error stack looks like:

[WARN] Exception while dispatching incoming RPC call
java.lang.IllegalArgumentException: Spring bean not found: querySenior
at org.spring4gwt.server.SpringGwtRemoteServiceServlet.getBean(SpringGwtRemoteServiceServlet.java:96)
at org.spring4gwt.server.SpringGwtRemoteServiceServlet.getBean(SpringGwtRemoteServiceServlet.java:55)
at org.spring4gwt.server.SpringGwtRemoteServiceServlet.processCall(SpringGwtRemoteServiceServlet.java:31)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)

I think:

1,"500(server error)" tells that gwt has recognized spring service
2,spring service unit test works fine,so spring configuration is right 

The problem may come from spring4gwt,and how to solve this problem?

Reply all
Reply to author
Forward
0 new messages