i can't get a comet chat example to run.
i get this error
[WARN] 404 - GET /birgit.chat.Chat.nocache.js (127.0.0.1) 1413 bytes
this is how my web.xml looks like
<servlet>
<servlet-name>chatComet</servlet-name>
<servlet-class>net.zschech.gwt.comet.server.CometServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>chatServiceImpl</servlet-name>
<servlet-class>birgit.chat.server.ChatServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>chatServiceImpl</servlet-name>
<url-pattern>/birgit.chat.Chat/chat</url-pattern>
</servlet-mapping>
This is my Chat.gwt.xml
<!DOCTYPE module SYSTEM "http://google-web-toolkit.googlecode.com/svn/trunk/distro- source/core/src/gwt-module.dtd">
<module >
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.user.theme.standard.Standard" />
<inherits name="net.zschech.gwt.comet.Comet" />
<servlet class="birgit.chat.server.ChatServiceImpl" path="/chat"/>
<entry-point class="birgit.chat.client.ChatEntryPoint" />
</module>
Those are packages i use
package birgit.chat.client;
package birgit.chat.server;
I think there is something wrong with path but i am out of ideas.
Please help.
Thank you.
First you should rename your module name in your *.gwt.xml , module has rename-to attribute which renames the module. After that you can reference your *.nocache.html with renamed module name.
<module rename-to="chatModule">
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.user.theme.standard.Standard" />
<inherits name="net.zschech.gwt.comet.Comet" />
<servlet class="birgit.chat.server.ChatServiceImpl" path="/chat"/>
<entry-point class="birgit.chat.client.ChatEntryPoint" />
</module>
and in your html page:
<script type="text/javascript" language="javascript"
src="chatModule/Chat.nocache.js"></script>
Related
I am a newbie to GWT and at the moment I have the problem that I created two modules (see appendix 1/2) with two entry point classes in my project. So I made two run configurations (see appendix 5/6) in Eclipse to either address the HTML page for module one (It_projekt.html) or the HTML page for module two (Reportgenerator.html). For authentication purposes, I added a LoginService class.
But now, when I start the HTML page for my second module (reportgenerator.gwt.xml) in the browser, there will be no login screen. On the other hand, when I start the HTML page for module one (It_projekt.gwt.xml) in the browser, there will appear a login screen.
So my question is: how can I make it possible (if it's possible) to have one LoginService and two HTML pages, where I as a user have to login at It_projekt.html and also Reportgenerator.html (condition: it has to be two modules with two entry point classes)? Is it maybe only possible with two different LoginService classes?
For test purposes, I added a variant of the LoginService class (as you can see in the web.xml). But the second LoginService idea didn't work either. And there is definitely some code in "onModuleLoad()" in the entry point class of the second module (reportgenerator.gwt.xml).
Maybe it might depend on a small detail, but I am unable to see it at the moment. I appended all necessary resources that I could think of. Please help me!
Appendixes:
1) It_projekt.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!--
When updating your version of GWT, you should also update this DTD reference,
so that your app can take advantage of the latest GWT module capabilities.
-->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.6.0//EN"
"http://google-web-toolkit.googlecode.com/svn/tags/2.6.0/distro-source/core/src/gwt-module.dtd">
<module rename-to='it_projekt'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.logging.Logging'/>
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<!-- Specify the app entry point class. -->
<entry-point class='de.hdm.team7.client.It_projekt'/>
<!-- Specify the paths for translatable code -->
<source path='client'/>
<source path='shared'/>
<!-- allow Super Dev Mode -->
<add-linker name="xsiframe"/>
</module>
2) reportgenerator.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.6.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.6.0/distro-source/core/src/gwt-module.dtd">
<module rename-to='reportgenerator'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.logging.Logging' />
<!-- Inherit the default GWT style sheet. You can change -->
<!-- the theme of your GWT application by uncommenting -->
<!-- any one of the following lines. -->
<inherits name='com.google.gwt.user.theme.clean.Clean' />
<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<!-- Other module inherits -->
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
<entry-point class="de.hdm.team7.client.Reportgenerator"></entry-point>
<!-- allow Super Dev Mode -->
<add-linker name="xsiframe" />
</module>
3) web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<!-- Servlets -->
<servlet>
<servlet-name>Stuecklistenverwaltung</servlet-name>
<servlet-class>de.hdm.team7.server.StuecklistenVerwaltungImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Stuecklistenverwaltung</servlet-name>
<url-pattern>/it_projekt/stuecklistenverwaltung</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Reportgenerator</servlet-name>
<servlet-class>de.hdm.team7.server.ReportGeneratorImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Reportgenerator</servlet-name>
<url-pattern>/it_projekt/reportgenerator</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LoginService</servlet-name>
<servlet-class>de.hdm.team7.server.LoginServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginService</servlet-name>
<url-pattern>/it_projekt/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LoginServiceReports</servlet-name>
<servlet-class>de.hdm.team7.server.LoginServiceReportsImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServiceReports</servlet-name>
<url-pattern>/reportgenerator/loginreports</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>It_projekt.html</welcome-file>
</welcome-file-list>
</web-app>
4) LoginService.java:
package de.hdm.team7.client;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
#RemoteServiceRelativePath("login")
public interface LoginService extends RemoteService {
// String login(User user);
public LoginInfo login(String requestUri);
}// end interface
5) Run configuration:
It_projekt.html
-superDevMode -server com.google.appengine.tools.development.gwt.AppEngineLauncher -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl It_projekt.html -logLevel INFO -codeServerPort auto -port auto -war C:\Users\dev\git\it-projekt\it-projekt\war de.hdm.team7.It_projekt de.hdm.team7.reportgenerator
6) Run configuration:
Reportgenerator.html
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -startupUrl Reportgenerator.html -logLevel INFO -codeServerPort 9997 -port 8888 -server com.google.appengine.tools.development.gwt.AppEngineLauncher -superDevMode -war C:\Users\dev\git\it-projekt\it-projekt\war de.hdm.team7.reportgenerator de.hdm.team7.It_projekt
While creating a LibGDX app I was trying to get the GWT and HTML5 version to work. While I got the generated basic app working, I tried to get an app that i have been working on for a while working and after updating the *.gwt.xml file with the locations of the sources I then encountered this error.
com.badlogic.gdx.scenes.scene2d.utils.DragAndDrop.Payload
com.badlogic.gdx.scenes.scene2d.utils.DragAndDrop.Target
com.badlogic.gdx.scenes.scene2d.utils.DragAndDrop.Source
java.lang.StringIndexOutOfBoundsException
If you want to read the whole log: http://pastebin.com/NxVKp2eA
I am not sure where to even start finding the source of this error as it seems to be rooted inside libGDX and scene2d if you could enlighten me that would be excellent.
MY HTML ENTRY POINT:
package com.mygdx.game.client;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.backends.gwt.GwtApplication;
import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration;
import com.nolevelcap.wc.MainWC;
public class HtmlLauncher extends GwtApplication {
#Override
public GwtApplicationConfiguration getConfig () {
return new GwtApplicationConfiguration(1280, 720);
}
#Override
public ApplicationListener getApplicationListener () {
return new MainWC();
}
}
MY *.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module>
<source path="com/nolevelcap/wc" />
<source path="com/nolevelcap/events" />
<source path="com/nolevelcap/widget" />
<source path="com/nolevelcap/utils" />
</module>
My GwtDefinition.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module rename-to="html">
<inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' />
<inherits name='com.badlogic.gdx.physics.box2d.box2d-gwt' />
<inherits name='MainWC' />
<entry-point class='com.mygdx.game.client.HtmlLauncher' />
<set-configuration-property name="gdx.assetpath" value="../core/assets" />
</module>
My GwtDefinitionSuperDev.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module rename-to="html">
<inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' />
<inherits name='com.badlogic.gdx.physics.box2d.box2d-gwt' />
<inherits name='MyTestGame' />
<entry-point class='com.mygdx.game.client.HtmlLauncher' />
<add-linker name="xsiframe"/>
<set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE'/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<set-configuration-property name="gdx.assetpath" value="../core/assets" />
</module>
When I run my APP under IE9 it fails with a lot of JS errors and I receive attached message even that I run my APP with IE9. This confuses my code, because elements in js do not accept addEventListener under IE6.
This is my GWT.xml file
<module rename-to="MyModuleName">
<inherits name="com.google.gwt.user.User" />
<inherits name="com.google.gwt.http.HTTP"/>
<inherits name="com.google.gwt.xml.XML"/>
<inherits name="com.google.gwt.i18n.I18N"/>
<inherits name="com.googlecode.gwt.charts.Charts"/>
<set-property name="user.agent" value="ie9"/>
<entry-point class="com.test.MyModuleName"/>
</module>
Thanks for the help in advance!
IE8+ will use the ie6 permutation if they switch to quirks mode. Make you you have a doctype that triggers standards mode (simplest is <!doctype HTML>) and/or include a <meta http-equiv="X-UA-Compatible" content="IE=Edge">
I just did a checkout of a project with SVN, and is showing me the following error.
I am really new using gwt and be very grateful if you could help me.
This is the error:
Loading inherited module 'com.google.web.bindery.event.Event'
[ERROR] Unable to find 'com/google/web/bindery/event/Event.gwt.xml' on your classpath; could be a
a typo, or maybe you forgot to include a classpath entry for source?
[ERROR] Line 22: Unexpected exception while processing element 'inherits'
This is my xml file
<?xml version="1.0" encoding="UTF-8"?>
<module>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name="com.smartgwt.SmartGwt" />
<inherits name="com.smartgwt.tools.SmartGwtTools" />
<inherits name="com.google.gwt.activity.Activity" />
<inherits name="com.google.gwt.place.Place" />
<inherits name='com.google.gwt.user.User'/>
<inherits name="com.google.web.bindery.event.Event" />
<inherits name="com.google.gwt.core.Core" />
<entry-point class='ch.datalynx.clessidra.client.Clessidra' />
<inherits name='com.google.gwt.user.theme.standard.Standard'/>
<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
<replace-with
class="ch.datalynx.clessidra.client.mvp.clientfactories.ClientFactoryImpl">
<when-type-is
class="ch.datalynx.clessidra.client.mvp.clientfactories.ClientFactory" />
</replace-with>
<source path='client' />
<source path='shared' />
</module>
Make sure the gwt-user.jar file is in your build path. It's part of the GWT SDK.
It is unable to find gwt-user.jar/com/google/web/bindery/event/Event.gwt.xml
My GWT app, using UiBinder, won't load in Internet Explorer. However, it loads just fine in Firefox, Safari, and on the iPhone.
In trying to isolate the problem, I've been stripping out parts trying to find the root cause. I'm down to basically a Label and it still works in FF but not IE.
Here's the EntryPoint:
public class Core implements EntryPoint {
private static Core instance;
public static Core instance() {
return instance;
}
#Override
public void onModuleLoad() {
instance = this;
RootPanel container = RootPanel.get("container");
container.add(new Label("hi"));
}
}
Here's my index.jsp:
<!doctype html>
<html>
<head>
<script type="text/javascript" src="core/core.nocache.js"></script>
</head>
<body>
<div id="container"></div>
</body>
</html>
Here's my appengine-web.xml:
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>realAppNameHere</application>
<version>andrew</version>
<static-files>
<include path="**" />
<!-- The following line requires App Engine 1.3.2 SDK -->
<include path="**.nocache.*" expiration="0s" />
<include path="**.cache.*" expiration="365d" />
<exclude path="**.gwt.rpc" />
</static-files>
<!-- Configure java.util.logging -->
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
</system-properties>
</appengine-web-app>
And here's my web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Even with this stripped-down version of everything, it still works in Firefox but not IE. Now there aren't even any bugs thrown, not even in Firebug... it just doesn't show the label in IE, but it will show the label in FF. I have no idea why this isn't running.
Anyone have any idea?
Edit 3:
Forgot the module.gwt.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='core'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.ajaxloader.AjaxLoader'/>
<inherits name="com.google.gwt.logging.Logging"/>
<inherits name='com.google.gwt.user.theme.clean.Clean'/>
<entry-point class='com.company.core.client.Core'/>
<source path='client'/>
<source path='shared'/>
<set-property name="gwt.logging.logLevel" value="SEVERE"/>
<set-property name="gwt.logging.enabled" value="FALSE"/>
<set-property name="gwt.logging.consoleHandler" value="ENABLED"/>
<set-property name="gwt.logging.simpleRemoteHandler" value="DISABLED" />
</module>
Some of the things won't come up in IE6 but it will definitely get loaded. The first thing you need to see is whether you have added an User agent for IE6 as
<set-property name="user.agent" value="ie6"/>
in your .gwt.xml file.
Next thing you need to check that whether you added an exception for localhost in your browser security settings.
If all this is done and still not working try to cleanup your project and recompile it.
From testing on an actual copy of IE (not the IE plugin for Firefox) we were able to see an error "console is not defined".
Turns out, this was throwing an exception in IE, preventing the page from loading:
public native static void log(String inString)
/*-{
console.log(inString);
}-*/;
So to solve this, we'll take out that reference to console and replace with a cross-browser logging library, such as GWT-Log