Hi,
I am a newbie here. Please understand if my question is stupid.
Ok, I am thingking about implementing simple test code like GWT + S3.
I use GWT 1.6.4 and to work with S3, I use gwt-s3 library version
0.9.2.
And somehow I am getting exception which I found hard to debug.
Can anyone please share opinions or guide some ideas?
Exception Messages below:
The server is running at
http://localhost:8080/
2009. 7. 13 오전 8:59:02
com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: [1247475542828000] javax.servlet.ServletContext log: Exception
while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method
'public abstract java.util.Map
com.dreamer.s3viewer.client.S3ViewerService.getInfo()' threw an
unexpected exception: java.lang.UnsatisfiedLinkError:
com.google.gwt.http.client.URL.encodeImpl(Ljava/lang/String;)Ljava/
lang/String;
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure
(RPC.java:360)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:546)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:166)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle
(DevAppEngineWebAppContext.java:54)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:306)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
at org.mortbay.jetty.HttpConnection$RequestHandler.content
(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:442)
Caused by: java.lang.UnsatisfiedLinkError:
com.google.gwt.http.client.URL.encodeImpl(Ljava/lang/String;)Ljava/
lang/String;
at com.google.gwt.http.client.URL.encodeImpl(Native Method)
at com.google.gwt.http.client.URL.encode(URL.java:95)
at com.nubotech.gwt.oss.client.s3.AwsS3.createUrl(AwsS3.java:207)
at com.nubotech.gwt.oss.client.s3.AwsS3.httpRequest(AwsS3.java:102)
at com.nubotech.gwt.oss.client.s3.AwsS3.doPut(AwsS3.java:70)
at com.nubotech.gwt.oss.client.s3.S3OnlineStorageService$1.execute
(S3OnlineStorageService.java:65)
at
com.nubotech.gwt.oss.client.s3.S3OnlineStorageService.executeCommand
(S3OnlineStorageService.java:218)
at com.nubotech.gwt.oss.client.s3.S3OnlineStorageService.createBucket
(S3OnlineStorageService.java:63)
at com.dreamer.s3viewer.server.S3ViewerServiceImpl.getInfo
(S3ViewerServiceImpl.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:527)
... 25 more
2009. 7. 13 오전 9:00:47
com.google.appengine.tools.development.ApiProxyLocalImpl log
SEVERE: [1247475647359000] javax.servlet.ServletContext log: Exception
while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method
'public abstract java.util.Map
com.dreamer.s3viewer.client.S3ViewerService.getInfo()' threw an
unexpected exception: java.lang.UnsatisfiedLinkError:
com.google.gwt.http.client.URL.encodeImpl(Ljava/lang/String;)Ljava/
lang/String;
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure
(RPC.java:360)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:546)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:166)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle
(DevAppEngineWebAppContext.java:54)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:306)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
at org.mortbay.jetty.HttpConnection$RequestHandler.content
(HttpConnection.java:844)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:442)
Caused by: java.lang.UnsatisfiedLinkError:
com.google.gwt.http.client.URL.encodeImpl(Ljava/lang/String;)Ljava/
lang/String;
at com.google.gwt.http.client.URL.encodeImpl(Native Method)
at com.google.gwt.http.client.URL.encode(URL.java:95)
at com.nubotech.gwt.oss.client.s3.AwsS3.createUrl(AwsS3.java:207)
at com.nubotech.gwt.oss.client.s3.AwsS3.httpRequest(AwsS3.java:102)
at com.nubotech.gwt.oss.client.s3.AwsS3.doPut(AwsS3.java:70)
at com.nubotech.gwt.oss.client.s3.S3OnlineStorageService$1.execute
(S3OnlineStorageService.java:65)
at
com.nubotech.gwt.oss.client.s3.S3OnlineStorageService.executeCommand
(S3OnlineStorageService.java:218)
at com.nubotech.gwt.oss.client.s3.S3OnlineStorageService.createBucket
(S3OnlineStorageService.java:63)
at com.dreamer.s3viewer.server.S3ViewerServiceImpl.getInfo
(S3ViewerServiceImpl.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:527)
... 25 more
ServiceImple Codes below:
package com.dreamer.s3viewer.server;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.dreamer.s3viewer.client.S3ViewerService;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.nubotech.gwt.oss.client.BucketResult;
import com.nubotech.gwt.oss.client.BucketResultCallback;
import com.nubotech.gwt.oss.client.ObjectHolder;
import com.nubotech.gwt.oss.client.ObjectHolderResult;
import com.nubotech.gwt.oss.client.ObjectHolderResultCallback;
import com.nubotech.gwt.oss.client.OnlineStorageService;
import com.nubotech.gwt.oss.client.OnlineStorageServiceFactory;
import com.nubotech.gwt.oss.client.auth.Credential;
@SuppressWarnings("serial")
public class S3ViewerServiceImpl extends RemoteServiceServlet
implements S3ViewerService{
@Override
public Map<String, List<String>> getInfo() {
final String myAccount = something ;
final String mySecretKey = something;
final String S3_HOST = "
sinnytest.s3.amazonaws.com/";
Credential credential = new Credential(myAccount, mySecretKey);
OnlineStorageService storageService =
OnlineStorageServiceFactory.getService(credential);
storageService.setHost(S3_HOST);
storageService.createBucket("sinnyBucket");
// storageService.listAllBuckets(new BucketResultCallback(){
//
// @Override
// public void onBucketResult(BucketResult bucket) {
// for (int i = 0; i < bucket.getRowCount(); i++) {
// GWT.log("bucket="+ bucket.get(i).getName(),null);
// }//for
// }//onBucketResul()
//
// });
storageService.getObject("sinnyTest", "error.log", new
ObjectHolderResultCallback(){
@Override
public void onObjectHolderResult(ObjectHolderResult result) {
ObjectHolder oh = result.getObjectHolder();
GWT.log("data : "+ oh.getDataAsString(), null);
}
});
return null;
}
}//S3ViewerServiceImpl
Thank you advance.