Problemas com projeto em GWT ?

26 views
Skip to first unread message

Fernando Paiva

unread,
Oct 21, 2013, 8:48:32 AM10/21/13
to gwt-b...@googlegroups.com

Salve galera, estou com um problema que ainda não consegui resolver com o GWT, quando faço o Async do client-server tenho o retorno da msg: Error 404 NOT_FOUND

acredito ser por problemas com a configuração do servlet. O nome do projeto eh MensagemServer

meu projeto está assim.


[code]

///EntryPoint

package br.com.ferpa.client;


import com.google.gwt.core.client.EntryPoint;

import com.google.gwt.core.client.GWT;

import com.google.gwt.event.dom.client.ClickEvent;

import com.google.gwt.event.dom.client.ClickHandler;

import com.google.gwt.user.client.Window;

import com.google.gwt.user.client.rpc.AsyncCallback;

import com.google.gwt.user.client.ui.Button;

import com.google.gwt.user.client.ui.DialogBox;

import com.google.gwt.user.client.ui.FlowPanel;

import com.google.gwt.user.client.ui.Label;

import com.google.gwt.user.client.ui.RootPanel;

import com.google.gwt.user.client.ui.TextBox;


/**

 * Entry point classes define <code>onModuleLoad()</code>.

 */

public class ImageViewer implements EntryPoint {

private final ServicoAsync cb = GWT.create(Servico.class);

public void onModuleLoad() {

RootPanel rootPanel = RootPanel.get();

DialogBox db = new DialogBox();

db.setSize("200", "200");

db.center();

db.show();

FlowPanel fp = new FlowPanel();

final TextBox txtBoxTexto = new TextBox();

Button btnOk = new Button("Enviar");

fp.add(new Label("Insira um texto: "));

btnOk.addClickHandler(new ClickHandler() {

@Override

public void onClick(ClickEvent event) {

cb.getTexto(txtBoxTexto.getText(), new AsyncCallback<String>() {

@Override

public void onSuccess(String result) {

Window.alert("Sucesso: " + result);

}

@Override

public void onFailure(Throwable caught) {

Window.alert("Erro: " + caught);

}

});

}

});

fp.add(txtBoxTexto);

fp.add(btnOk);

db.add(fp);

}

}



///Service
package br.com.ferpa.client;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("servico")
public interface Servico extends RemoteService{

String getTexto(String texto) throws IllegalArgumentException;
}


//Async

package br.com.ferpa.client;


import com.google.gwt.user.client.rpc.AsyncCallback;


public interface ServicoAsync{

void getTexto(String texto, AsyncCallback<String> callback);

}



//Implementacao
package br.com.ferpa.server;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

import br.com.ferpa.client.Servico;

public class ServicoImpl extends RemoteServiceServlet implements Servico{

@Override
public String getTexto(String texto) {
return "Texto vindo do server: " + texto;
}
}



///web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

<web-app>

<!-- Servlets -->
  <servlet>
    <servlet-name>msgserver</servlet-name>
    <servlet-class>br.com.ferpa.server.ServicoImpl</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>msgserver</servlet-name>
    <url-pattern>/mensagemserver/servico</url-pattern>
  </servlet-mapping>



<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>ImageViewer.html</welcome-file>
</welcome-file-list>

</web-app>

[/code]


O que pode ser esse problema ???

obrigado


Milton Lima

unread,
Oct 21, 2013, 9:06:44 PM10/21/13
to gwt-b...@googlegroups.com
Velho...

Faça estas alterações aí:

@RemoteServiceRelativePath("Servico")
public interface Servico extends RemoteService{

<servlet>
    <servlet-name>Servico</servlet-name>
    <servlet-class>br.com.ferpa.server.ServicoImpl</servlet-class>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Servico</servlet-name>
    <url-pattern>/mensagemserver/Servico</url-pattern>
  </servlet-mapping>

Verifique se vc definiu a classe de ponto de entrada no projeto.gwt.xml

<!-- Specify the app entry point class.                         -->
  <entry-point class='br.ufop.client.gui.Bootstrap'/>

Espero que ajude.
Reply all
Reply to author
Forward
0 new messages