Tuesday, April 17, 2012

com.google.protobuf.GeneratedMessage is a restricted class

HTTP ERROR 500

Problem accessing /sql_engine_web. Reason:


com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage
is a restricted class. Please see the Google App Engine developer's
guide for more details.
Caused by:

java.lang.NoClassDefFoundError:
com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage
is a restricted class. Please see the Google App Engine developer's
guide for more details.
at
com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:
51)
at
com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage.<clinit>(GeneratedMessage.java:
38)
at
com.google.cloud.sql.jdbc.internal.AbstractSqlClient.createConnectRequest(AbstractSqlClient.java:
222)
at
com.google.cloud.sql.jdbc.internal.SqlProtoClient.openConnection(SqlProtoClient.java:
57)
at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:66)
at com.google.cloud.sql.jdbc.Driver.connect(Driver.java:26)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at engine.sql.Sql_engine_webServlet.doGet(Sql_engine_webServlet.java:
33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
at
com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:
35)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
60)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:
97)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
78)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:363)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)
Powered by Jetty://

=====================
HERE IS MY CODE
=====================

package engine.sql;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

import javax.servlet.http.*;

//import com.google.cloud.sql.jdbc.Connection;
import com.google.appengine.api.rdbms.*;
import com.google.cloud.sql.jdbc.PreparedStatement;
//import com.google.cloud.sql.jdbc.PreparedStatement;

//import com.google.appengine.api.rdbms.AppEngineDriver;

import java.sql.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@SuppressWarnings("serial")
public class Sql_engine_webServlet extends HttpServlet {

private java.sql.Connection con = null;

public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
PrintWriter out = resp.getWriter();
out.println("text/html");
System.out.println("going to connect");
try {
DriverManager.registerDriver(new AppEngineDriver());
con = DriverManager.getConnection("jdbc:google:rdbms://uni-cloud/
uni_cloud_db");
System.out.println(con.getCatalog() +" " + con.isClosed());
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}


//Cloud_SQL_Connector connectionManager = new
Cloud_SQL_Connector("uni_cloud_db");
//con = connectionManager.getConnection();


String statement = "insert into user (username, type)values (?, ?)";
try {
PreparedStatement stmt = (PreparedStatement)
con.prepareStatement(statement);
stmt.setString(1, "042-bscs-08");
stmt.setString(2, "student");
System.out.println("RESULT ::::::::::::::: "+stmt.execute());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(con != null){
try {
con.close();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
}

}
}

============================================
i'm using the SDK version 1.6.3 v201202290255r36.
I'm just on initial stages and using devapp server in eclipse..
please help me out I've not yet found any solution.
============================================

No comments:

Post a Comment