2011-01-22 69 views
0

我目前正在題爲SalesForce.com教程Force.com for Google App Engine for Java: Getting Started爲什麼我看不到我的Java/SalesForce/Google App?

我已經安裝了谷歌Eclipse插件,下載庫,並進入的「Hello World應用程序」(教程頁面上看到的):

package com.force; 
import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.http.*; 
import java.util.logging.*; 

import com.sforce.ws.*; 
import com.sforce.soap.partner.*; 
import com.sforce.soap.partner.sobject.SObject; 


@SuppressWarnings("serial") 
public class HelloWorldServlet extends HttpServlet { 
    private static final Logger log = Logger.getLogger(HelloWorldServlet.class.getName()); 

    private String username = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
    private String password = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
    private PartnerConnection connection; 

    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { 
     resp.setContentType("text/html"); 
     resp.getWriter().println("Hello, world. this is a test2"); 

     PrintWriter t = resp.getWriter(); 
     getConnection(t, req); 
     if (connection == null) { return; } 

     QueryResult result = null; 

     try { 

      result = connection.query( "select id, name, phone from Account order by LastModifiedDate desc limit 10 "); 

     } catch (ConnectionException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     for (SObject account : result.getRecords()) { 
      t.println("<li>"+ (String)account.getField("Name") + "</li>"); 
     } 
    } 

    void getConnection(PrintWriter out, HttpServletRequest req) { 

     try { 
      // build up a ConnectorConfig from a sid 
      String sessionid = req.getParameter("sid"); 
      String serverurl = req.getParameter("srv"); 

      if (connection == null) { 

       out.println("<p>new connection needed</p>"); 
       // login to the Force.com Platform 
       ConnectorConfig config = new ConnectorConfig(); 
       if (sessionid != null && serverurl != null) { 
        config.setServiceEndpoint(serverurl); 
        config.setSessionId(sessionid); 
        config.setManualLogin(false); 
        out.println("using session from query string"); 
       } else { 
        config.setUsername(username); 
        config.setPassword(password); 
       } 
       connection = Connector.newConnection(config); 
       out.println(connection.getConfig().getSessionId()); 
       out.println(connection.getConfig().getServiceEndpoint()); 
      } else { 
       out.println("<p> reuse existing connection"); 
       out.println(connection.getConfig().getSessionId()); 
      } 
      log.warning("Connection SID " +connection.getConfig().getSessionId()); 

     } catch (ConnectionException ce) { 
      log.warning("ConnectionException " +ce.getMessage()); 

      out.println(ce.getMessage() + " s " + ce.getClass()); 

     } 

    } 
} 

當我運行該應用程序爲「Web應用程序」我得到了在控制檯下面:

Initializing AppEngine server 
Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger 
Successfully processed D:\education\java\HelloWorldOriginal\war\WEB-INF/appengine-web.xml 
Successfully processed D:\education\java\HelloWorldOriginal\war\WEB-INF/web.xml 
The server is running at http://localhost:8888/ 
Warning: default mime table not found: C:\devtool\Java\jre6\lib\content-types.properties 

當我試圖訪問http://localhost:8080/,我看到:

Oops! Google Chrome could not connect to localhost:8080 
Did you mean: localhost-­8080.­com 
Additional suggestions: 
Try reloading: localhost:­8080 
Search on Google: 

Google Chrome Help - Why am I seeing this page? 
©2011 Google - Google Home 

但是,當我訪問http://localhost:8888/,我得到:

Web Application Starter Project 

Please enter your name: 
    Send 

(哪,也不是所期望的或預期的結果)

這是什麼content-type.properties我我錯過了,我該如何解決它?或者這只是一個更大問題的症狀?

回答

1

您是否檢查過您的web.xml將請求/指向相應的處理程序類?僅僅寫這個類是不夠的 - 你必須確保傳入的請求被引導到它。

+0

我想你可能會對此有所...我隱約記得爲一些早期的動態Web應用程序做這件事,但後來發現,由於一些註釋,新的不需要這樣做......我會嘗試這並回到你身邊。 :-) – 2011-01-24 07:35:41

相關問題