что будет причиной того, что контроль собирается onFailure () в GWT? - PullRequest
0 голосов
/ 19 ноября 2010
public interface LoginService extends RemoteService {
         public static final String SERVICE_URI = "/login";
         public static class Util {
            public static LoginServiceAsync getInstance() {

               LoginServiceAsync instance = (LoginServiceAsync) GWT.create(LoginService.class);
               ServiceDefTarget target = (ServiceDefTarget) instance;
               target.setServiceEntryPoint(GWT.getModuleBaseURL() + SERVICE_URI);
               return instance;
            }
         }
       public boolean userIsValid( Map loginData );
      }

и класс входа

 public void onModuleLoad() {


      final LoginServiceAsync loginService = ( LoginServiceAsync )GWT.create( LoginService.class );
      ServiceDefTarget endpoint = ( ServiceDefTarget )loginService;
      String moduleRelativeURL = GWT.getModuleBaseURL()+"login";
      endpoint.setServiceEntryPoint( moduleRelativeURL );
      this.setLoginPanel();
      final AsyncCallback callback = new AsyncCallback()
      {

         public void onSuccess( Object result ) {

            // take the result coming from the server
            boolean ok = Boolean.valueOf( result.toString() ).booleanValue();
            if( ok )
            {

               MessageBox.alert( "Success", "Successfully logged in!");
            }
            else
            {

               MessageBox.alert( "Invalid", "Wrong username or password");
            }
         }

         public void onFailure( Throwable caught ) {
            MessageBox.alert( "Error", "Error while logging in" );
         }
      };
      loginButton = new Button( "Login" );
      loginButton.addListener( new ButtonListenerAdapter() {
         public void onClick( Button button, EventObject e ) {
            Map loginData = getUserData( formPanel.getForm() );
            loginService.userIsValid( loginData, callback );
         }
      });
      formPanel.addButton( loginButton );
      loginPanel.setBorder( false );
      loginPanel.setPaddings( 5 );
      loginPanel.add( formPanel );
      RootPanel.get().add( loginPanel );
   }

вот класс реализации сервера

public class LoginServiceImpl extends RemoteServiceServlet implements LoginService {
      public boolean userIsValid( Map loginData )
   {
      boolean accepted = false;
      String name = loginData.get( "userName" ).toString();
      String pswd = loginData.get( "pswd" ).toString();
      if( name.equals( "yugal" ) && pswd.equals( "yugal" ) )
      {

         accepted = true;
      }
      else
      {

            accepted = false;
      }
      return accepted;
   }
}

вот web.xml


         LoginService
         org.arosys.server.LoginServiceImpl
 

 
         LoginService
         /login
 

управление собирается методом onFailure (Throwable catch), почему?в чем проблема?

1 Ответ

0 голосов
/ 19 ноября 2010

Без какого-либо кода реализации сервиса и без трассировки стека это невозможно сказать.Не могли бы вы предоставить нам некоторый код и выдаваемое исключение?

Здесь некоторая информация о том, как обрабатывать исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...