Hi,
I just tried my first java servlet with google app engine. It works fine at 
localhost (Eclipse: Run As > Web Application), but it dosen't work at the 
Google App Engine (500 Server Error).

The error message is not really meaningful.

Error: Server ErrorThe server encountered an error and could not complete 
> your request.
>
> If the problem persists, please 
> report<http://code.google.com/appengine/community.html> your 
> problem and mention this error message and the query that caused it.
>
How can I proceed to find the problem?

package de.bvl.myhighscoreserver;

import java.io.IOException;

import java.util.List;

import javax.servlet.http.*;


import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.FetchOptions;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.Query;


@SuppressWarnings("serial")
public class MyHighscoreServerServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws IOException {
 String game = req.getParameter("game");
String name = req.getParameter("name");
String pointsStr = req.getParameter("points");
String maxStr = req.getParameter("max");
int max = 10;
if(maxStr!= null){
max = Integer.parseInt(maxStr);
}
int points = 0;
if(pointsStr != null){
points = Integer.parseInt(pointsStr);
}
if(points>0 && name!=null){
addHighscore(game,name,points);
}
returnHighscores(resp,game,max);
}
private void returnHighscores(HttpServletResponse resp, String game, int 
max) throws IOException {
// TODO Auto-generated method stub
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Key gameKey = KeyFactory.createKey("game", game);
Query query = new Query("highscore", gameKey);
query.addSort("points", Query.SortDirection.DESCENDING);
List<Entity> highscores = 
datastore.prepare(query).asList(FetchOptions.Builder.withLimit(max));
for(Entity e : highscores){
resp.getWriter().println(e.getProperty("name")+","+ 
e.getProperty("points"));
}
}
private void addHighscore(String game, String name, int points){
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Key gameKey = KeyFactory.createKey("game", game);
Entity highscore = new Entity("highscore",gameKey);
highscore.setProperty("name", name);
highscore.setProperty("points", points);
datastore.put(highscore);
 }
}

THX in advance
Bo

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/ECbFJ0IXhXEJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to