java.lang.UnsatisfiedLinkError

452 views
Skip to first unread message

jlc488

unread,
Jul 13, 2009, 5:12:25 AM7/13/09
to Google Web Toolkit
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.

Dalla

unread,
Jul 15, 2009, 5:07:39 AM7/15/09
to Google Web Toolkit
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 <jlc...@gmail.com> 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/
Reply all
Reply to author
Forward
0 new messages