Zum Inhalt springen

GWT - App Engine Problem


Empfohlene Beiträge

Hallo,

ich habe kürzlich begonnen, mit dem Google Web Toolkit zu arbeiten und hoffe, dass sich hier welche besser mit der Materie auskennen. Ich benutze Eclipse 3.5.2, Java 1.6, das GWT 2.0.3 und das entsprechende Plugin für Eclipse.

Folgende Situation:

- Neues Web Application Project angelegt

- Eigene Remote Procedure Call erstellt

- Die ServiceImpl Klasse bindet externe Jars ein, aus denen ich Klassen instanziieren möchte (im Build-Path hinzugefügt und per Import-Anweisung eingebunden)

Problem 1:

Beim Ausführen der Applikation (bzw. beim Starten der App Engine mittels des Run-Buttons) bekomme ich nach ca. 20 Sekunden folgende Fehlermeldung auf der Konsole:

INFO: Unable to access http://appengine.google.com/api/updatecheck?runtime=java&release=1.3.4&timestamp=1273872371&api_versions=['1.0']

java.net.ConnectException: Connection timed out: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at sun.net.NetworkClient.doConnect(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.<init>(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

at java.net.URL.openStream(Unknown Source)

at com.google.appengine.tools.info.RemoteVersionFactory.getVersion(RemoteVersionFactory.java:76)

at com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.java:98)

at com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:168)

at com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java:136)

at com.google.appengine.tools.development.gwt.AppEngineLauncher.maybePerformUpdateCheck(AppEngineLauncher.java:104)

at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:76)

at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421)

at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035)

at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)

at com.google.gwt.dev.DevMode.main(DevMode.java:275)

15.06.2010 13:43:38 com.google.apphosting.utils.jetty.JettyLogger info

INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger

15.06.2010 13:43:38 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml

INFO: Successfully processed C:\...\war\WEB-INF/appengine-web.xml

15.06.2010 13:43:38 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml

INFO: Successfully processed C:\...\WEB-INF/web.xml

15.06.2010 13:43:39 com.google.appengine.tools.development.DevAppServerImpl start

INFO: The server is running at http://localhost:8888/

Anschließend gibt er mir die Location aus, die ich im Browser aufrufen kann. Die Applikation läuft trotzdem - bis zu dem Punkt, an dem o. g. Klassen instanziiert werden.

Problem 2:

An dieser Stelle stellt er fest, dass er die Klasse gar nicht findet.

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String hello.client.PRISService.isConnected()' threw an unexpected exception: java.lang.NoClassDefFoundError: de/pps/persistence/DSManager

Es scheint mir, als wüsste der Server zur Laufzeit nichts von den Klassen, die ich benutzen möchte. Weiß jemand einen Rat, an welcher Stelle ich den Fehler suchen soll? Ich wäre dankbar für jeden Tipp.

Gruß

Bearbeitet von Ulfmann
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Problem lässt sich weiter konkretisieren. Gemäß der Google Doku läuft jede Applikation in einer Sandbox, die gewissen Restriktionen unterliegt.

An app can use any JVM bytecode or library feature, as long as it does not exceed the sandbox restrictions. For instance, bytecode that attempts to open a socket or write to a file will throw a runtime exception.

Quelle:

What Is Google App Engine? - Google App Engine - Google Code

Genau das will ich jetzt aber machen. Die Vorstellung, dass GWT keinen Zugriff auf andere Bibliotheken oder Datenbanken zulässt halte ich nicht so ganz für realistisch. Weiß da jemand einen Ausweg?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...