Развертывание приложения GWT с вызовами RPC на Apache - PullRequest
0 голосов
/ 07 декабря 2011

Я разрабатываю приложение GWT, скажем, SoapCon, которое подключается к веб-службе, поэтому я использую Axis на своей стороне сервера для подключения к этому веб-сервису. Когда я запускаю свое приложение в режиме разработки, оно работает нормально (который возвращает xml в качестве ответа). Но когда я развернул свое приложение на Apache 2.0 в Linux, RPC не удалось и возвращает 404 для URL-адреса отображения сервлета.

Когда я развернул это приложение на 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>

Что мне делать? пожалуйста помоги. заранее спасибо.

1 Ответ

1 голос
/ 07 декабря 2011

Я предполагаю, что вы запускаете tomcat на вашем сервере apache. Чтобы развернуть ваш проект gwt, вы должны собрать .war-файл и не пытаться копировать все части вручную.

Ошибка 404 говорит нам, что URL "/ SoapCon / soapcon / greet" не найден / находится в нужном месте на вашем сервере. Развертывание .war вместо ручного копирования автоматически поместит все в правильное положение.

...