在 Apache 上使用 RPC 调用部署 GWT 应用程序
我正在开发一个 GWT
应用程序,比如说连接到 Web 服务的 SoapCon
,因此我在服务器端使用 Axis
来连接到此网络服务。当我在开发模式下运行我的应用程序时,它工作正常(返回 xml 作为其响应)。但是,当我将应用程序部署到 Linux
中的 Apache 2.0
时,RPC 失败并为 servlet 映射 URL 返回 404
。
当我将此应用程序部署到 Apache 时,我递归地将 /war/soapcon 复制到 /var/www/html/SoapCon 目录以及 SoapCon.html 和 .css。
这是我的 web.xml
:
<!-- Servlets -->
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>com.sample.google.server.SampleServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/soapcon/greet</url-pattern>
</servlet-mapping>
SoapCon.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='soapcon'>
....
RPC 服务的客户端存根:
@RemoteServiceRelativePath("greet")
public interface SampleService extends RemoteService {
String method( String params, ... );
}
当我运行我的应用程序时
http://localhost/SoapCon/SoapCon.html
模块已加载,但是当我单击将从服务器调用 RPC 方法的按钮时,会发生错误返回:
com.google.gwt.user.client.rpc.StatusCodeException: 404 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /SoapCon/soapcon/greet was not found on this server.</p>
</body></html>
我应该做什么?请帮忙。提前致谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我假设您正在 apache 服务器上运行 tomcat。要部署您的 gwt 项目,您应该 构建一个 .war 文件,并且不要尝试手动复制所有部分。
404 错误告诉我们,URL“/SoapCon/soapcon/greet”未在服务器上的正确位置找到。部署 .war 而不是手动复制将自动将所有内容放置在正确的位置。
I assume you are running tomcat on your apache server. To deploy your gwt project you should build a .war-file, and do not try to copy all parts manually.
The 404 error tells us, that the URL "/SoapCon/soapcon/greet" was not found / in the right place on your server. Deploying the .war instead of manual copying will automatically place everything in the right position.