I´m not familiar with the S3 API, but every time I´ve seen UnsatisfiedLinkError the problem has been
A) A client side only function was called from the server side B) A server side only function was called from the client side So make sure there are no S3-functions that can not actually be used on the server side --Dalla http://date-time.appspot.com/ On 13 Juli, 11:12, jlc488 <[email protected]> wrote: > 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 athttp://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. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. 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-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
