2012-02-08 2 views
1

Я хочу использовать RequestBuilder сделать HTTP запросов в моем проекте PlayN, как описано здесь: http://code.google.com/webtoolkit/doc/latest/DevGuideServerCommunication.html#DevGuideHttpRequestsHTTP запросов в проекте PlayN

Я добавил тег в моем модуле XML файл:

, но я до сих пор имеет следующую ошибку компиляции:

com.google импорта не может быть решен

есть ли что-то еще, что я должен сделать, чтобы мой проект компилировать?

Вот код:

import com.google.gwt.http.client.*; 
... 

String url = "http://www.myserver.com/getData?type=3"; 
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); 

try { 
    Request request = builder.sendRequest(null, new RequestCallback() { 
     public void onError(Request request, Throwable exception) { 
     // Couldn't connect to server (could be timeout, SOP violation, etc.) 
} 

public void onResponseReceived(Request request, Response response) { 
    if (200 == response.getStatusCode()) { 
     // Process the response in response.getText() 
    } else { 
    // Handle the error. Can get the status text from response.getStatusText() 
     } 
    } 
    }); 
} catch (RequestException e) { 
    // Couldn't connect to server 
} 
+0

Can вы публикуете полный оператор импорта, о котором жалуется компиляция? Это звучит для меня, как будто у вас где-то отсутствует зависимость ... – hatboyzero

+0

Является ли баннер gwt-user в вашем пути к классам? – hatboyzero

ответ

0

Если вы используете Maven для сборки (я подозреваю, что может быть), чтобы быть абсолютно уверен, что следующая зависимость в вашем HTML/pom.xml

<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-user</artifactId> 
    <version>2.4.0</version> 
    <scope>provided</scope> 
</dependency> 

вы, возможно, потребуется изменить версию, если вы используете версию GWT, кроме 2.4.0

Edit: Теперь, когда я знаю, что вы используете Java-приложение (основанное на комментариях ниже), а не приложение GWT, вам, скорее всего, понадобится сделать HTTP-запросы с чем-то другим, кроме HTTP-клиента GWT. Вы захотите удалить вышеупомянутую зависимость и взгляните на ответы на this question, чтобы узнать, как это сделать ...

Если вам нужно выполнить HTTP-запросы как в целях GWT, так и в Java PlayN , вам, вероятно, понадобится отделить HTTP-клиентский интерфейс, необходимый в основном модуле, и предоставить соответствующие конкретные реализации в модулях java и GWT. Я описываю использование Gin и Guice для инъекции java и GWT конкретных экземпляров AsyncService <> объектов в this answer here, и аналогичный подход может быть использован при инжектировании соответствующего HTTP-клиентского экземпляра, необходимого на платформе, если необходимо ...

+0

Теперь он компилируется, но я получаю исключение во время выполнения: Исключение в потоке «main» java.lang.NoClassDefFoundError: com/google/gwt/http/client/RequestException –

+0

Извините - удалите строку ', предоставленную', или измените ее на ' runtime' и посмотреть, работает ли он ... – hatboyzero

+0

Теперь я получаю: Исключение в потоке «main» java.lang.UnsatisfiedLinkError: com.google.gwt.xhr.client.XMLHttpRequest.create() Lcom/google/gwt/XHR/клиент/XMLHttpRequest; –

Смежные вопросы