Sunday, April 22, 2012

com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage is a restricted

I'm getting this message whenever I try to connect google cloud sql.
I'm using local development server with jdk version 1.6.4.

HTTP ERROR 500

Problem accessing /uni_cloud. 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 org.uni_cloud.Uni_cloudServlet.service(Uni_cloudServlet.java:37)
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:369)
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 CODE THAT I'm RUNNING


package org.uni_cloud;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.*;
import com.google.appengine.api.rdbms.AppEngineDriver;


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

@SuppressWarnings("serial")
public class Uni_cloudServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
this.service(req, resp);
}

@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
this.service(req, resp);
}


public void service(HttpServletRequest req, HttpServletResponse resp)
throws IOException {

PrintWriter out = resp.getWriter();
Connection c =null;
resp.setContentType("text/html; charset=utf-8");

try{
DriverManager.registerDriver(new AppEngineDriver());
c = DriverManager.getConnection("jdbc:google:rdbms://uni-
cloud:unicloud/uni_cloud_db");

String query = "insert into user (username, type)values (?, ?)";
PreparedStatement stmt = c.prepareStatement(query);
stmt.setString(1, "044-bscs-08");
stmt.setString(2, "student");

int success = 2;
success = stmt.executeUpdate();
if(success == 1) {
out.println("<html><head></head><body>Success...</body></html>");
} else if (success == 0) {
out.println("<html><head></head><body>Failure!</body></html>");
}

}catch(Exception exp){

}
}
}

==========================
web.xml
==========================
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>Uni_cloud</servlet-name>
<servlet-class>org.uni_cloud.Uni_cloudServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Uni_cloud</servlet-name>
<url-pattern>/uni_cloud</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>


please help me out...

No comments:

Post a Comment