GWT RPC 失败调用

Posted

技术标签:

【中文标题】GWT RPC 失败调用【英文标题】:GWT RPC Failure Call 【发布时间】:2011-09-29 14:25:38 【问题描述】:

我收到此错误 -

[WARN] 404 - POST /gwtmaps/mapService (127.0.0.1) 1404 字节

 Request headers
      Host: 127.0.0.1:8888
      Connection: keep-alive
      User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (Khtml, like Gecko) Chrome/14.0.835.186 Safari/535.1
      Accept: */*
      Accept-Encoding: gzip,deflate,sdch
      Accept-Language: en-US,en;q=0.8
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
      Content-Length: 163
      Origin: http:/ /127.0.0.1:8888
      X-GWT-Module-Base: http:/ /127.0.0.1:8888/gwtmaps/
      X-GWT-Permutation: HostedMode
      Content-Type: text/x-gwt-rpc; charset=UTF-8
      Referer: http: //127.0.0.1:8888/GWTMaps.html?gwt.codesvr=127.0.0.1:9997
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 1404

失败


使用我的 gwt.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.6.2//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.6.2/distro-source/core/src/gwt-module.dtd">
<module rename-to='gwtmaps'>
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User'/>

  <!-- Inherit the default GWT style sheet.  You can change       -->
  <!-- the theme of your GWT application by uncommenting          -->
  <!-- any one of the following lines.                            -->
 <!--  <inherits name='com.google.gwt.user.theme.clean.Clean'/>-->
  <inherits name='com.google.gwt.user.theme.standard.Standard'/>
  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->

  <!-- Other module inherits                                      -->
<inherits name="com.google.gwt.maps.GoogleMaps" />
<script src="http://maps.google.com/maps?gwt=1&amp;file=api&amp;v=2&amp;sensor=false" />
  <!-- Specify the app entry point class.                         -->
  <entry-point class='com.mymaps.client.GWTMaps'/>
<servlet class = "com.mymaps.server.MapServiceImpl" path="/mapService"/>
  <!-- Specify the paths for translatable code                    -->
  <source path='client'/>
  <source path='shared'/>


和 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee">

 <welcome-file-list>
    <welcome-file>GWTMaps.html</welcome-file>
  </welcome-file-list>

  <!-- Servlets -->
  <servlet>
  <servlet-name>MapService</servlet-name>
  <servlet-class>
    com.mymaps.server.MapServiceImpl
  </servlet-class>
  </servlet>
<servlet-mapping>
  <servlet-name>MapService</servlet-name>
  <url-pattern>/com.mymaps.MapService/gwtmaps/mapService</url-pattern>
</servlet-mapping>

  <!-- Default page to serve -->


</web-app>

有什么想法吗?我一直在尝试新的理论,但无法取得任何成功。

谢谢!

【问题讨论】:

【参考方案1】:

您可能需要将@RemoteServiceRelativePath 注解添加到服务的客户端同步接口。

例如:

@RemoteServiceRelativePath("mapService")
public interface MapService extends RemoteService 

...


【讨论】:

以上是关于GWT RPC 失败调用的主要内容,如果未能解决你的问题,请参考以下文章

GWT:在另一个模块中调用 RPC 服务

GWT Java rpc 调用工作;但是,替换 GWTBootstrap - rpc 调用不起作用

GWT:RPC 失败(StatusCodeException)

调用 RPC 时出错 - GWT,404 服务器响应状态为 404(未找到)

GWT RPC:使用其他服务实现的方法失败

GWT RPC 失败,没有错误也没有异常