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我我錯過了,我該如何解決它?或者這只是一個更大問題的症狀?
我想你可能會對此有所...我隱約記得爲一些早期的動態Web應用程序做這件事,但後來發現,由於一些註釋,新的不需要這樣做......我會嘗試這並回到你身邊。 :-) – 2011-01-24 07:35:41