2011-01-22 40 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

相关问题