GWT Service Failure

S

saölfdj

Gast
Hallo :D

Hab ein kleines Problem und zwar hab ich eine Maven-GWT Anwendung und möchte
RPC verwenden, nur leider schlägt mein callback immer Fehl.

Mein Button wenn ich Klicke:
Java:
AsyncCallback<List<String>> callback = new AsyncCallback<List<String>>() {
	public void onFailure(Throwable caught) {
				
	}
			
	public void onSuccess(List<String> result) {
		addToTable(result);
	}
};

searchService.doSearch(callback);

Die Fehlermeldung:
Code:
404 - POST /myProject/search (127.0.0.1) 1412 bytes
   Request headers
      Host: 127.0.0.1:8888
      User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
      Accept-Encoding: gzip, deflate
      Connection: keep-alive
      Referer: http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997
      X-GWT-Permutation: HostedMode
      X-GWT-Module-Base: http://127.0.0.1:8888/sara2lightWebclient/
      Content-Type: text/x-gwt-rpc; charset=utf-8
      Content-Length: 334
      Pragma: no-cache
      Cache-Control: no-cache
   Response headers
      Content-Type: text/html; charset=iso-8859-1
      Content-Length: 1412

Hat da jemand Ahnung was da los ist? :D
 

Ullenboom

Bekanntes Mitglied
Vorschlag: Mit Eclipse kannst du ein einfaches GWT-Beispiel entwickeln, das schon RPC nutzt. Dann hast du schon mal funktionierenden Code. Von dort kannst du richtig Maven gehen.
 
S

saölfdj

Gast
Hi,

bezüglich der Kombination von Maven und GWT gibt es keine Probleme. Klar die gab es, wie bei jedem anderen auch aber diese Probleme sind schon lange Geschichte :D

Das Programm an sich läuft rund. Bis auf das, das ich eben nicht verstehe, warum ich einen 404
Error bekomme und wie das Zustande kommen kann, da mir die internen Mechanismen von GWT
nicht ganz klar sind.

Hatte beim letzten Post vergessen zu erwähnen, dass diese Fehlermeldung im onFailure() von
meinem Callback ausgespuckt wird.

Die doSearch(callback) wird aufgerufen aber dann knallt es :D
 
S

saölfdj

Gast
Hi nochmal,

ich poste mal meine SearchServiceImpl. Denn mir ist aufgefallen,
dass das Ding anscheinend doch gar nicht aufgerufen wird.
Keines meiner System.outs wird jedenfalls ausgegeben:

Java:
private SearchServiceAsync searchService = GWT.create(SearchService.class);

public class SearchServiceImpl extends RemoteServiceServlet implements SearchService {
	private static final long serialVersionUID = 1L;
	// Schnittstelle zur Datenbank eines anderen Modules
	private ISearch search = null;

	public List<String> doSearch(String keyWords, Coordinate start, Coordinate end) {
		System.out.println("doSearch impl");
		LonLat lowerLeft = new LonLat(start.getLongitude(), start.getLatitude());
		System.out.println(lowerLeft.toString());
		LonLat upperRight = new LonLat(end.getLongitude(), end.getLatitude());
		System.out.println(upperRight.toString());
		
		try {
			search = new SearchController(keyWords, lowerLeft, upperRight);
			System.out.println("search instantiated");
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		
                // eine eigene notwendige implementierung von swing
		List<de.myPackage.model.String> temp = null;
		
		try {
			temp = search.doSearch();
			System.out.println("search.doSearch() done");
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
                // i have to map my String to the java String
		return map(temp);
	}
	
	/**
	 * 
	 */
	private List<String> map(List<de.myPackage.model.String> results) {
		// uninteressanter und höchste geheimer code xD
	}

Wie gesagt, nicht einmal das erste System.out wird aufgerufen.

Java:
@RemoteServiceRelativePath("search")
public interface SearchService extends RemoteService {
	List<String> doSearch(String keyWords, Coordinate start, Coordinate end);
}

Java:
public interface SearchServiceAsync {
	void doSearch(String keyWords, Coordinate start, Coordinate end, AsyncCallback<List<String>> callback);
}
 
S

saölfdj

Gast
Also er meckert ja an Folgendem:

Code:
404 - POST /myProject/search (127.0.0.1) 1412 bytes

Heißt das nun, dass er das hier nicht finden kann, was ja als "search" definiert ist:

Java:
@RemoteServiceRelativePath("search")
public interface SearchService extends RemoteService {
    List<String> doSearch(String keyWords, Coordinate start, Coordinate end);
}

Wenn ja, Warum? Wenn es nicht daran liegt, was könnte es dann sein?
 

Ähnliche Java Themen

Neue Themen


Oben