Hey, thanks for the hint with baconApi but it's the same that the most of 
our users use IE. 

@Rocco: 

Can you post a little example how you use the synchronous callback. We 
tried to use the provided example. 

We try to cast our ascync service to GetRemoteServiceProxy but an error 
occured.

Error: 

SEVERE: Exception caught: com.SchumannGmbH.cam.web.client.CamService_Proxy 
cannot be cast to com.SchumannGmbH.cam.web.shared.rpc.GetRemoteServiceProxy
com.google.gwt.event.shared.UmbrellaException: Exception caught: com.
SchumannGmbH.cam.web.client.CamService_Proxy cannot be cast to com.
SchumannGmbH.cam.web.shared.rpc.GetRemoteServiceProxy
 at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java
:129)
 at com.google.gwt.event.logical.shared.CloseEvent.fire(CloseEvent.java:56)
 at com.google.gwt.event.logical.shared.CloseEvent.fire(CloseEvent.java:41)
 at com.google.gwt.user.client.Window.onClosed(Window.java:839)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
 at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
 at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.
java:172)
 at com.google.gwt.dev.shell.BrowserChannelServer.
reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(
BrowserChannelServer.java:219)
 at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java
:136)
 at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)
 at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java
:279)
 at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(
JavaScriptHost.java:91)
 at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
 at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242)
 at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
 at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
 at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.
java:172)
 at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(
BrowserChannelServer.java:293)
 at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(
BrowserChannelServer.java:547)
 at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.
java:364)
 at java.lang.Thread.run(Thread.java:745)

Our service class: 

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath ( "camService")
public interface CamService
    extends RemoteService
{
  Login login( String input, String password, String localname ) throws 
CAMBackendException,
       LoginException;

  /**
   * @throws CAMBackendException
   * @throws LoginException
   */
  void logout() throws CAMBackendException, LoginException;

  /**
   * @param stammdaten
   * @return array von Stammdaten
   * @throws LoginException
   * @throws CamServerException
   */
  Searchresult search( int moduleKey, Stammdaten stammdaten, int 
maxEntries, boolean fuzzy )
      throws CAMBackendException, LoginException, SearchException;

  /**
   * @param id
   * @throws LoginException
   * @throws CAMBackendException
   */
  AktenkopfWrapper getAktenkopf( long id, int tabId ) throws 
LoginException, CAMBackendException;

  /**
   * @param moduleKey
   * @param partnerId
   * @param infoId
   * @throws LoginException
   * @throws CAMBackendException
   */
  AuskunfteiGesamtObject<?> getAuskunfteiGesamtObjekt( int moduleKey, long 
partnerId,
      long infoId, int auskunftsnummer, boolean createChart ) throws 
LoginException,
      CAMBackendException;

  /**
   * @param moduleKey
   * @param partnerId
   * @param infoId
   * @param xpsID
   * @throws CAMBackendException
   * @throws LoginException
   */
  AuskunfteiGesamtObject<?> getAuskunfteiGesamtObjektByXPSID(
      long partnerId,
      int moduleKey,
      int auskunftsnummer,
      long infoId,
      long xpsID ) throws LoginException, CAMBackendException;

  /**
   * @param tabellenName
   * @throws LoginException
   * @throws CAMBackendException
   */
  SupportTabelle ladeSupportTabelle( String tabellenName ) throws 
LoginException,
      CAMBackendException;

  BranchenSystematik[] loadAvailableBranchSystematiken( ) throws 
LoginException, CAMBackendException;
  
  Branche loadBrancheByID( int branchenid ) throws LoginException, 
CAMBackendException;
  
  Branche[] loadBranchen( String systematik ) throws LoginException, 
CAMBackendException;
  
  void saveBranchenZusatzdaten( Branche branche )throws LoginException, 
CAMBackendException;
  
  BranchenMapping[] loadAllMappings( ) throws LoginException, 
CAMBackendException;
  
  void saveBranchenMappings( BranchenMapping[] 
neueBranchenMappings,BranchenMapping[] deletedBranchenMappings ) throws 
LoginException, CAMBackendException;
  
  /**
   * @param moduleKey
   * @param partnerId
   * @param completeInfo
   * @param auskunftsNummer
   * @throws LoginException
   * @throws CAMBackendException
   */
  int addInfo( int moduleKey, long partnerId, SerializableObject 
completeInfo,
      int auskunftsNummer ) throws LoginException, CAMBackendException;

  /**
   * @param moduleKey
   * @param partnerId
   * @param completeInfo
   * @param auskunftsNummer
   * @throws LoginException
   * @throws CAMBackendException
   */
  SaveResult validateAndSave( int moduleKey, long partnerId,
      SerializableObject completeInfo, int auskunftsNummer ) throws 
LoginException,
      CAMBackendException;

  /**
   * @throws LoginException
   * @throws CAMBackendException
   */
  List<ModuleInfo> getAvailableModuleInfos() throws LoginException, 
CAMBackendException;

  /**
   * @throws LoginException
   * @throws CAMBackendException
   */
  BenutzerContainer loadBenutzerServiceData() throws LoginException, 
CAMBackendException;

  /**
   * @param id
   * @throws Exception
   */
  String akteSchliessen( long id, int tabId ) throws LoginException, 
CAMBackendException;

  /**
   * @param filter
   * @throws Exception
   */
  List<WiedervorlageListenElementWrapper> ladeWiedervorlagen( TodoFilter 
filter ) throws LoginException, CAMBackendException;

  /**
   * Lädt zu einer Risikoakte alle Anträge.
   * 
   * @param risikoPartnerID
   *          PartnerID der Risikoakte.
   * @return Array mit 0...n Antraegen.
   * @throws CAMBackendException
   *           falls Serverfehler beim Laden der Anträge auftritt.
   */
  AntragsHeader[] getAntraegeFuerRisiko( long risikoPartnerID ) throws 
LoginException,
      CAMBackendException;

  /**
   * Lädt einen bestimmten Antrag vom Server.
   * 
   * @param antragID
   *          ID des Antrags.
   * @return Antragsobjekt, niemals <code>null</code>.
   * @throws CAMBackendException
   *           falls Serverfehler beim Laden des Antrags auftritt.
   */
  Antrag getAntrag( long antragID ) throws LoginException, 
CAMBackendException;

  /**
   * Liefert alle GBZTypen für den angemeldeten Benutzer vom Server.
   * 
   * @return Array mit konfigurierten GBZ Typen.
   * @throws CAMBackendException
   *           falls Serverfehler beim Laden der GBZTypen auftritt.
   */
  GBZTyp[] getGBZTypen() throws LoginException, CAMBackendException;

  /**
   * Speichert einen bestimmten Antrag auf dem Server und generiert ggf 
eine Entscheidung
   * 
   * @param antrag
   *          Antragsdaten.
   * @param risikoPartnerID
   *          ID der Risikoakte.
   * @return ID des gespeicherten Antrags, wird bei neuenb Anträgen 
aktualisiert.
   * @throws CAMBackendException
   *           falls Serverfehler beim Speichern des Antrags auftritt.
   */
  long saveAntrag( long risikoPartnerID, Antrag antrag,
      Geschaeftsbeziehung geschaeftsbeziehung, boolean decision ) throws 
LoginException,
      CAMBackendException;

  /**
   * weiterleiten von todos
   * 
   * @param benutzerWiedervorlages
   * @throws LoginException
   * @throws CAMBackendException
   */
  void erzeugeBenutzerWiedervorlage( List<BenutzerWiedervorlage> 
benutzerWiedervorlages )
      throws LoginException, CAMBackendException;

  /**
   * Löscht eine wiedervorlage
   * 
   * @param element
   * @throws LoginException
   * @throws CAMBackendException
   */
  void deleteWiedervorlage( WiedervorlageListenElement element ) throws 
LoginException,
      CAMBackendException;

  /**
   * Löscht eine Liste von Wiedervorlagen
   * 
   * @param elemente
   * @throws LoginException
   * @throws CAMBackendException
   */
  void deleteWiedervorlagen( List<WiedervorlageListenElement> elemente ) 
throws LoginException,
      CAMBackendException;

  /**
   * Legt eine neue Akte mit den gegebenen Stammdaten an. Die 
Partner-Nummer der neuen Akten wird
   * zurueck gegeben.
   * 
   * @param stammdaten
   *          Stammdaten fuer neue Akte
   * @param justCheck
   *          legt die Akte nicht an sondern Prüft nur die Daten
   * 
   * @return SaveResult bei Erfolg die Partner-ID der neuen Akte
   * @throws CAMBackendException
   *           Bei allen Fehlern
   */
  SaveResult neueAkteAnlegen( Stammdaten stammdaten, boolean justCheck ) 
throws LoginException,
      CAMBackendException;

  /**
   * Speichert und validier die Gesamtbewertung
   * 
   * @param modifikation
   * @param pageModel
   * @param userID
   * @throws LoginException
   * @throws CAMBackendException
   */
  SaveResult saveGesamtBewertung( ManuelleModifikation modifikation, 
GeneralPageModel pageModel )
      throws LoginException, CAMBackendException;

  /**
   * Läd die Gesamtbewertung
   * 
   * @param aktenkopf
   * @throws LoginException
   * @throws CAMBackendException
   */
  GesamtBewertung loadGesamtBeweertung( Aktenkopf aktenkopf ) throws 
LoginException,
      CAMBackendException;

  /**
   * Erzeugt ein jana pdf und speichert es in der Session
   * 
   * @param techID
   * @throws LoginException
   * @throws CAMBackendException
   */
  public boolean requestPdfForBilanz( long techID, long partnerID )
      throws LoginException, CAMBackendException;

  /**
   * Methode zum Konvertieren einer Rechtsform von Extern in CAM. Ruft den
   * {@link LegalFormTranslatorServiceImpl} mit der Option 
<code>TO_EXTERNAL</code> auf.
   * 
   * @param moduleId
   * @param sourceRechtsformId
   * @return int Die zu Extern gempappte Rechtsform
   */
  Vc2DataContainer transformRechtsformToExternal( int moduleId, int 
sourceRechtsformId )
      throws LoginException, CAMBackendException;

  /**
   * @param cacheList
   * @throws CAMBackendException
   * @throws LoginException
   */
  void cache( List<Stammdaten> cacheList ) throws CAMBackendException, 
LoginException;

  /**
   * @param risikoPartnerID
   * @param header
   * @param geschaeftsbeziehung
   * @param decision
   * @throws LoginException
   * @throws CAMBackendException
   */
  long saveAntrag( long risikoPartnerID, AntragsHeader header,
      Geschaeftsbeziehung geschaeftsbeziehung, boolean decision ) throws 
LoginException,
      CAMBackendException;

  /**
   * Stößt Entscheidung für einen bestimmten Antrag an.
   * 
   * @param risikoPartnerID
   *          ID der Risikoakte.
   * @param antragID
   *          ID des zu entscheidenden Antrags.
   * @throws InternalServerException
   *           falls Serverfehler beim Speichern des Antrags auftritt.
   */
  void entscheideAntrag( long risikoPartnerID, long antragID ) throws 
LoginException,
      CAMBackendException;

  /**
   * Lehnt einen Kreditantrag ab
   * 
   * @param partnerID
   * @param antrag
   * @throws LoginException
   * @throws CAMBackendException
   */
  Long rejectCredit( long partnerID, AntragsHeader header ) throws 
LoginException,
      CAMBackendException;

  /**
   * @param sessionID
   * @throws LoginException
   * @throws CAMBackendException
   */
  Login login( String sessionID ) throws LoginException, 
CAMBackendException;

  /**
   * @param stammdatenBankverbindung
   * @throws LoginException
   * @throws CAMBackendException
   */
  ValidationInfoWeb checkDataForNewBankVerbindung( StammdatenBankverbindung 
stammdatenBankverbindung )
      throws LoginException, CAMBackendException;

  /**
   * @param blz
   * @param simple
   * @throws LoginException
   * @throws CAMBackendException
   */
  BlzSearchResults searchForBLZ( Bankleitzahl blz, boolean simple ) throws 
LoginException,
      CAMBackendException;

  FastSearchResult searchFast( FastSearchType searchType, String pattern )
      throws CAMBackendException, LoginException, SearchException;

  /**
   * Lädt für einen Benutzer alle Einstellungen. (Die Einstellungen wurden 
früher in einer Datei auf
   * dem lokalen Rechner gespeichert. Das Wurde umgestellt, sodass die 
Einstellungen nun auf der
   * Datenbank gespeichert und von dort geladen werden)
   * 
   * @return Einstellungen
   * @throws LoginException
   * @throws CAMBackendException
   */
  UserSettings loadUserSettings() throws LoginException, 
CAMBackendException;

  /**
   * 
   * @param userHowChanged
   * @param userSettings
   */
  UserSettings saveUserSettings( UserSettings userSettings ) throws 
LoginException,
      CAMBackendException;

  GB_ValidationResult addManuelleGesamtbewertung( long partnerId,
      ManuelleModifikation modifikation, 
GesamtbewertungModelJasperInterface model,
      boolean skipGueltigkeitZuLang ) throws LoginException, 
CAMBackendException;



  /**
   * @param historyRequest
   * @throws LoginException
   * @throws CAMBackendException
   */
  HistoryEntry<?>[] getAllHistoryEntries( HistoryRequest historyRequest ) 
throws LoginException,
      CAMBackendException;

  /**
   * @param historyRequest
   * @throws LoginException
   * @throws CAMBackendException
   */
  HistoryEntry<?>[] getAllHistoryEntriesForGB( HistoryRequest 
historyRequest )
      throws LoginException, CAMBackendException;

  /**
   * 
   * @param partnerID
   * @return Alle Nebenakten zu der übergebenen Partner-ID
   * @throws InternalServerException
   * @throws LoginException
   */
  NebenaktenEinstellungen loadNebenaktenEinstellungen( long partnerID ) 
throws LoginException,
      CAMBackendException;

  /**
   * 
   * @param einstellungen
   * @throws LoginException
   * @throws CAMBackendException
   */
  SaveResult saveNebenaktenEinstellungen( NebenaktenEinstellungen 
einstellungen )
      throws LoginException, CAMBackendException;

  /**
   * 
   * @param model
   */
  ValidationInfoWeb validateDeclareAsSubFile( CreditFileModel model,
      List<GeneralPageModelJasperInterface> presenterlist ) throws 
LoginException,
      CAMBackendException;

  /**
   * 
   */
  void declareAsSubFile( long subfileID, long mainfileID ) throws 
LoginException,
      CAMBackendException;

  /**
   * 
   * @param model
   * @param presenterList
   */
  ValidationInfoWeb validateDeactivateFile( CreditFileModel model,
      List<GeneralPageModelJasperInterface> presenterList ) throws 
LoginException,
      CAMBackendException;

  /**
   * 
   */
  void setFileStatus( FileActivationStatus status, long fileID, String 
kommentar )
      throws LoginException, CAMBackendException;

  /**
   * @param moduleInfo
   * @param creditFile
   * @throws CAMBackendException
   * @throws LoginException
   */
  boolean checkModuleStatus( ModuleInfo moduleInfo, CreditFileInterface 
creditFile )
      throws LoginException, CAMBackendException;

  MoveAuskunftResult moveAuskunft( MoveAuskunftRequest moveAuskunftRequest 
) throws LoginException,
      CAMBackendException;

  void setInfoStatus( int modulID, long mapping,
      InfoActivationStatus status ) throws LoginException, 
CAMBackendException;

  com.SchumannGmbH.cam.common.data.ValidationInfo 
checkPreconditionsForInfoStatusChange(
      ModuleInfo moduleInfo,
      CreditFileInterface creditFile ) throws LoginException, 
CAMBackendException;

  void clearAttachmentDatas( Attachment attachment );

  HistoryEntry<?>[] completeHistoryEntryData( long partnerID, 
HistoryEntry<?>[] historyEntries,
      int auskunftsnummer, int moduleID ) throws LoginException, 
CAMBackendException;

  /**
   * Liefert zu dem angegebenen Partner den Status und die Parameter der 
gerade laufenden Anfrage,
   * sofern diese existiert. Dies kann auch eine Fehlermeldung sein, z.B. 
"Erste Anfrage
   * fehlgeschlagen, zweiter Versuch läuft."
   * 
   * @param moduleKey
   *          Eindeutiger Schluessel des InfoModuls
   * @param partnerId
   *          Eindeutiger Schluessel des Partners.
   * @param auskunftsNummer
   *          Nummer der Auskunft
   * 
   * @return Die laufende Anfrage dieses Moduls zum Partner.
   * @throws InternalServerException
   *           Bei allen Fehlern
   */
  AbstractAnfrage getLaufendeAnfrage( int moduleKey, long partnerId, int 
auskunftsNummer )
      throws LoginException, CAMBackendException;

  SupportTabelle[] ladeSupportTabellen( String[] tabellenName ) throws 
LoginException,
      CAMBackendException;

  /**
   * @throws LoginException
   * @throws CAMBackendException
   */
  Kostenstelle[] loadKostenstellenArrayForUser() throws LoginException, 
CAMBackendException;

  /**
   * @param modulID
   * @param auskunftsID
   * @throws LoginException
   * @throws CAMBackendException
   */
  MappingInfo[] getAllMappings( int modulID, long auskunftsID ) throws 
LoginException,
      CAMBackendException;

  SerializableObject getAktuellAuskunft( int moduleKey, long partnerID, int 
auskunftsnummer )
      throws LoginException, CAMBackendException;

  SerializableObject[] getHistorischeAuskuenfte( int modulID, long 
partnerID, int maxAnzahl,
      int auskunftsnummer ) throws LoginException, CAMBackendException;

  /**
   * @return
   */
  String getVersionInfos();

  /**
   * Setzt ein neues Passwort
   * 
   * @param userrname
   * @param passwordOld
   * @param passwordNew
   * @param localeString
   * @return
   * @throws CAMBackendException
   */
  ValidationInfoWeb changePassword( String userrname, String passwordOld, 
String passwordNew,
      String localeString ) throws CAMBackendException;

  LoginResult getLoginInfo( long userID ) throws LoginException, 
CAMBackendException;

  void logoutClient( long clientID[] ) throws LoginException, 
CAMBackendException;


  /**
   * Laedt alle verfuegbaren 'Funktion'-Objekte.
   *
   * @return Funktion[] ein Array aller 'Funktion'-Objekte
   * derjenigen Mandanten, zu denen der ausführende Benutzer gehört
   * @throws LoginException
   * @throws CAMBackendException
   */
  Funktion[] loadFunktionArray() throws LoginException, 
CAMBackendException;  


  /**
   * @return
   */
  LoginConfig getLoginConfig();

  FormularEntryHistoryWrapper getFormularEntryHistory(
      FormularEntryHistoryRequest formularHistoryRequest ) throws 
LoginException, CAMBackendException;

  SupportTabelle reloadSupportTabelle( String tabellenName ) throws 
LoginException;
}


Do you have a hint for us? 

In which event do you use your SyncronousRequests ? Are they working in 
onClose() and in onBeforeClosing() ? 

Thanks for your support!

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to