2013-02-02 70 views
0

我有一個運行良好但在Tomcat中不正確的小應用程序,我剛剛將我的GWT war文件夾中的所有文件複製到Tomcat webapps文件夾,當我在localhost上運行我的應用程序時,它開始完美,但是當我嘗試通過Tomcat能夠使一個RPC調用它給了我這個錯誤連接如何在Tomcat中運行GWT RPC

enter image description here

任何想法

感謝

注::我的RPC服務只產生問題,如果我跑進去了TOMCAT,否則RPC做工精細

我的web.xml

enter image description here

 <?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"> 

      <!-- Servlets --> 

      <servlet> 
      <servlet-name>DashBoardServlet</servlet-name> 
      <servlet-class>com.dashboard.server.DashBoardServiceImpl</servlet-class> 
      </servlet> 

      <servlet-mapping> 
      <servlet-name>DashBoardServlet</servlet-name> 
      <url-pattern>/dashboardsupervisor/DashBoardServlet</url-pattern> 
      </servlet-mapping> 
      <!-- Default page to serve --> 
      <welcome-file-list> 
      <welcome-file>DashBoardSupervisor.html</welcome-file> 
      </welcome-file-list> 

      </web-app> 

我的RPC服務接口

  package com.dashboard.client; 

      import java.util.ArrayList; 


      @RemoteServiceRelativePath("DashBoardServlet") 
      public interface DashBoardService extends RemoteService { 

     ArrayList<FoundIntravue> fetchIntraVUE(String first, String second, String choice); 
     String saveIntraVue(Intravue interVue, ArrayList<Networks> networksList) t throws Exception; 
     String restoreDatabase(Date selectedDate) throws Exception; 
     String cleanDatabase() throws Exception; 
     String saveDatabase() throws Exception; 
    ArrayList<Intravue> fetchIntravuesList(); 


     } 
+0

你的網址是否在服務中正確提供? –

+0

和那個對話框是404沒有找到..所以你的url模式錯了,可以告訴我們你是如何製作RPC的。 ? –

+0

您的模塊web.xml文件很可能包含錯誤。你可以將它與RPC的服務接口一起發佈嗎? – enrybo

回答

0

我不知道,如果這是所有有給問題,但如果您在Tomcat上運行應用程序,則無需在GWT代碼服務器上運行代碼。我可以在地址欄中看到你的網址有?gwt.codesvr=127.0.0.1:9997。嘗試刪除。

編輯
在Eclipse中運行帶有

http://127.0.0.1:8888/Project1.html?gwt.codesvr=127.0.0.1:9997 

其中Project1.html是要加載頁面的應用程序。

在Tomcat中的網址應該是

localhost:8080/project 

哪裏project是你把webapps目錄中的WAR文件的名稱。

什麼結束了答案:
不要忘記,你的庫必須在war/WEB-INF/lib。其中war是放置在Tomcat的webapps文件夾中的頂級文件夾。

+0

。我通過eclips運行它,但是如果我通過localhost:8080/supervisor運行它的eclipse,這個東西不會顯示出來,但是我需要對我的servlerts,tomcat的web.xml做什麼?我在Tomcat/lib文件夾中添加了我的項目的所有庫,現在錯誤發生了變化,它只是說,Call Failed。 – junaidp

+0

我在這裏有點困惑。你說你想從Tomcat運行這個,但你剛纔說過你是從eclipse運行的。如果你從eclipse運行,URL應該看起來像:'http://127.0.0.1:8888/Project.html?gwt.codesvr = 127.0.0.1:9997'。如果你從Tomcat運行,它應該是'localhost:8080/project'。 – enrybo

+0

是的,你是對的,但我從外部服務器運行eclipse(即作爲WebApplication運行(在外部服務器上運行))。是的,如果我從tomcat eun似乎localhost:8080/project ..但它在rpc調用失敗。RPC在eclipse中工作正常,但不在tomcat中。 – junaidp