2017-04-20 35 views
0

我試圖按照有關這個問題的答案,但沒有爲我工作。獲得404 GWT RPC與PhoneGap的

我在GWT一個簡單的HelloWorld應用程序,它我試圖在PhoneGap的我真正的Android手機上運行。

所以我編譯我的GWT應用程序,並把戰爭文件夾的內容WWW文件夾下(在WWW文件夾中有任何刪除之前)我的PhoneGap空白項目。

我通過PhoneGap的在我的手機上運行該項目。

我的PhoneGap看到地址是:http://192.168.15.118:3000/

這個程序運行的位置。

所以我在我的代碼這樣做。

PhonegapUtil.prepareService((ServiceDefTarget) service, "http://192.168.15.118:3000/hellogap/", "greet"); 

service.greetServer(....

「hellogap」 是我的模塊名稱(我的項目名稱是HelloGap,如果需要的)

當我從Eclipse中運行RPC一切OK 。 當我在我的手機上運行RPC,它說:

    Server replies: 
      404 Not Found Cannot POST /hellogap/greet 

如果我能得到一個暗示什麼,我做錯了..

感謝

+0

在開發模式或生產模式下運行?請注意dev模式下的「bindaddress」參數(默認情況下,它不允許來自除localhost外的主機的客戶端連接)。 錯誤消息說404而不是連接超時,所以這不太可能是原因,但它值得一試。 – Andrei

回答

0

訪問喜歡使用PhoneGap的,你必須知道以下的事情在Android應用程序的Web瀏覽器的戰爭,

1)編譯部署您的戰象的Apache Tomcat等我使用的Apache Tomcat服務器後並在webapps文件夾中部署我的戰爭。

2)您的IP必須是公共IP,以便您可以從任何地方訪問該戰爭,否則請確保您的戰爭和您的手機互聯網位於同一網絡中。

3)對於MainActivity從的PhoneGap項目訪問戰爭中,你可以通過以下方式實現,也有訪問戰爭很多方法,但我喜歡這個,

 @Override 
public void onCreate(Bundle savedInstanceState) { 
    try { 
     /* 
     * This is one way to access war 
     * super.onCreate(savedInstanceState); 
     * super.loadUrl("file:///android_asset/www/CustomAppHost.html"); 
     */ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     WebView webView = (WebView) findViewById(R.id.webView1); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.loadUrl("https://www.google.com");//here you can specify your war url 

     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url);//here you can specify your war url 
       return false; 
      } 
     }); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

通過這種方法,你在使用的所有servlet的項目將工作,我想這應該幫助你..

0

分而治之!

電話端:打電話給你知道的服務,肯定它正在工作,如雅虎天氣API(https://query.yahooapis.com/v1/public/yql?q=select%20wind%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22chicago%2C%20il%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys)。

服務器(您的計算機)端:嘗試使用瀏覽器和/或使用本地運行的相同GWT應用程序調用api URL。

讓我們看看它是如何去的,我們將從那裏開始。這個問題有很多可能的問題,我們需要縮小一點。