Hallo!
Ich habe eine Problem mit einem meiner RPC aufrufe. Ich habe eine GWT Projekt in dem ich für das Login eine zweite html/jsp Seite benötige. Heißt zuerst wird die jsp Seite mit der Hauptanwendung aufgerufen. Dort wird überpürft of die cokkies richtig gesetzt sind, wenn nicht erfolgt die Weiterleitung zu login.jsp Seite die ich auch im selben Projekt in GWT realisiert habe. Bin dabei nach der Anleitung GWT multi modules for seperate HTML pages? vorgegangen. Habe also eine zweiten gwt.xml File erzeugt habe in der zweiten JSP Seite eine neuen entry point angelegt. Außerdem habe ich den Controller und das RPC von der Hauptanwendung getrennt und ein eigenes Servlet erstellt. Die Seite funktioniert auch, nur habe ich das Problem, dass wenn ich auf Login klicke ich einen rpc Fehler Fehler bekomme, dass die URL nicht gefunden wurde:
com.google.gwt.user.client.rpc.StatusCodeException:
HTTP ERROR: 404
NOT_FOUND
RequestURI=/login/login
Powered by Jetty://
Nun bin ich ratlos, ich kenn mich nicht so detailiert mit dem RPC Mechanismus aus, habe nur aufgrund der Fehlermeldung herausgefunden, dass im Hintergrund das Ganze offenbar über eine RequestBuilder abläuft, den man auch händisch erstellen kann. Mir ist nicht nicht klar wieso er einen falschen Pfad annimmt bzw. ihn nicht finde, fürchte aber das hängt mit der "Zweiten" Anwendung innerhalb des Projektes zusammen. Anbei poste ich meinen gwt.xml File und die Codezeilen von RPC:
RPC:
GWT XML:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.1/distro-source/core/src/gwt-module.dtd">
<module rename-to='login'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<inherits name='com.smartgwt.SmartGwt' />
<!-- 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.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='at.ac.uibk.dbis.dmis.client.Login' />
<!-- Language settings -->
<extend-property name="locale" values="de" />
<extend-property name="locale" values="en" />
</module>
[/XML]
Ich hoffe mir kann einer helfen, ich komme sonst nicht weiter.
Liebe Grüße,
Florian
PS: Mein LoginControllerService hat als RemoteServiceRelativePath login auch das Servlet wurde mit login definiert.
Ich habe eine Problem mit einem meiner RPC aufrufe. Ich habe eine GWT Projekt in dem ich für das Login eine zweite html/jsp Seite benötige. Heißt zuerst wird die jsp Seite mit der Hauptanwendung aufgerufen. Dort wird überpürft of die cokkies richtig gesetzt sind, wenn nicht erfolgt die Weiterleitung zu login.jsp Seite die ich auch im selben Projekt in GWT realisiert habe. Bin dabei nach der Anleitung GWT multi modules for seperate HTML pages? vorgegangen. Habe also eine zweiten gwt.xml File erzeugt habe in der zweiten JSP Seite eine neuen entry point angelegt. Außerdem habe ich den Controller und das RPC von der Hauptanwendung getrennt und ein eigenes Servlet erstellt. Die Seite funktioniert auch, nur habe ich das Problem, dass wenn ich auf Login klicke ich einen rpc Fehler Fehler bekomme, dass die URL nicht gefunden wurde:
com.google.gwt.user.client.rpc.StatusCodeException:
HTTP ERROR: 404
NOT_FOUND
RequestURI=/login/login
Powered by Jetty://
Nun bin ich ratlos, ich kenn mich nicht so detailiert mit dem RPC Mechanismus aus, habe nur aufgrund der Fehlermeldung herausgefunden, dass im Hintergrund das Ganze offenbar über eine RequestBuilder abläuft, den man auch händisch erstellen kann. Mir ist nicht nicht klar wieso er einen falschen Pfad annimmt bzw. ihn nicht finde, fürchte aber das hängt mit der "Zweiten" Anwendung innerhalb des Projektes zusammen. Anbei poste ich meinen gwt.xml File und die Codezeilen von RPC:
RPC:
Java:
private void checkLogin(){
// check Login
service.loginCheckLogin(username.getText(), password.getText(), new AsyncCallback<Boolean>(){
@Override
public void onFailure(Throwable caught) {
vPanel.add(new HTML(""+caught));
}
@Override
public void onSuccess(Boolean result) {
if(result == true){
vPanel.remove(loginForm());
vPanel.add(selectSession());
}
else
errorLabel.setText("Username or password are wrong");
}
});
}
GWT XML:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.1/distro-source/core/src/gwt-module.dtd">
<module rename-to='login'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<inherits name='com.smartgwt.SmartGwt' />
<!-- 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.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='at.ac.uibk.dbis.dmis.client.Login' />
<!-- Language settings -->
<extend-property name="locale" values="de" />
<extend-property name="locale" values="en" />
</module>
[/XML]
Ich hoffe mir kann einer helfen, ich komme sonst nicht weiter.
Liebe Grüße,
Florian
PS: Mein LoginControllerService hat als RemoteServiceRelativePath login auch das Servlet wurde mit login definiert.