2014-09-11 2 views
2

репост:интеграция RestyGWT и GWT

ЦЕЛЬ:

Я использую GWT и пытается вызвать существующий Twitter REST Service с помощью RestyGWT клиента

ПРОБЛЕМА:

Я не получаю ответ на мой запрос GET на «https://api.twitter.com/1.1/statuses/mentions_timeline.json» или другой json.

ВЕЩИ Я пробовал:

Я посмотрел на документацию RestyGWT, и я не мог прийти через конкретный пример о том, как обращаться к сервисам сторонних REST. Пробовал вызов службы REST с использованием типов возвращаемого текста, той же проблемы. Должно быть что-то, что я делаю неправильно на фундаментальном уровне.

КОД:

Вот мой onModuleLoad:

public void onModuleLoad() { 

Resource r = new Resource("https://api.twitter.com/1.1/statuses/mentions_timeline.json"); 

     r.get().send(new JsonCallback() { 

      @Override 
      public void onSuccess(Method method, JSONValue response) { 
       System.out.println("Twitter response:\tYES"); 
       } 

      @Override 
      public void onFailure(Method method, Throwable exception) { 
       System.out.println("Twitter response:\tNO"); 
       System.out.println("Exception:\t\t"+exception.toString()); 
       System.out.println("Exception Message:\t"+exception.getMessage()); 
       System.out.println("Status code:\t\t"+method.getResponse().getStatusCode()); 
       } 
     });} 

ВЫВОД:

GWT MODULE LOADED 
Twitter response: NO 
Exception:   org.fusesource.restygwt.client.FailedStatusCodeException: 
Exception Message: 
Status code:  0  
+0

Вы пытаетесь сделать Перекрестные запросы сайта, сначала посмотрим на http://crazygui.wordpress.com/2012/08/08/cross-site-requests-with-gwt -restygwt-и-html5-CORS/ и, возможно, https://groups.google.com/forum/#!searchin/restygwt/csrf/restygwt/C6F6VXx_A6A/VvQfbmFlBH4J Тогда вы должны быть с проверкой подлинности для этого вызова. Вы должны получить ошибку 215, если не аутентифицированы. –

ответ

0

Это может быть вызвано символом "_" в запросе. Попробуйте использовать другой URL-адрес или добавьте CharacterEncodingFilter на стороне сервера в web.xml. что-то вроде этого:

 <filter> 
    <filter-name>encoding-filter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <async-supported>true</async-supported> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>encoding-filter</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 
Смежные вопросы