package gwt.client; import gwt.client.Rpc1Service; import gwt.client.Rpc1ServiceAsync; import gwt.client.Rpc2Service; import gwt.client.Rpc2ServiceAsync; 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.Panel; import com.google.gwt.user.client.ui.RootPanel; public class Application implements EntryPoint { private static int index = 0; @Override public void onModuleLoad() { final Panel root = RootPanel.get(); final Button button1 = new Button("RPC 1"); final Button button2 = new Button("RPC 2"); button1.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { GWT.<Rpc1ServiceAsync> create(Rpc1Service.class).getString(index++, new WindowAlertAsyncCallback()); } }); button2.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { GWT.<Rpc2ServiceAsync> create(Rpc2Service.class).getString(index++, new WindowAlertAsyncCallback()); } }); root.add(button1); root.add(button2); } private class WindowAlertAsyncCallback implements AsyncCallback<String> { @Override public void onFailure(final Throwable thrown) { Window.alert("Failure: " + thrown.toString()); } @Override public void onSuccess(final String success) { Window.alert("Success: " + success); } } }