2014-04-15 3 views
0

У меня есть некоторые проблемы с использованием модификации в качестве моего веб-интерфейса связи с веб-сервисом php, содержащимся на веб-сайте worpress - при вызове одного из методов API JSON на сайте WP я получаю исключение SSL в мой клиент Android, хотя я перебегал через http, а не https.Получение исключения SSL в модификации

Вот мой код -

public class RestApi { 
    private static final String API_URL = "https://tmc.co.nf/api"; 
    private SmokeTalkRest service; 
    interface SmokeTalkRest { 

     @FormUrlEncoded 
     @POST("/get_nonce") 
     void getNonce(@Field("controller") String controller, @Field("method") String method, Callback<String> callback); 
    } 

    public RestApi() { 

     // Create a very simple REST adapter which points the GitHub API 
     // endpoint. 
     RestAdapter restAdapter = new RestAdapter.Builder() 
       .setServer(API_URL).build(); 

     // Create an instance of our GitHub API interface. 
     service = restAdapter.create(SmokeTalkRest.class); 
    } 

    public void getNonceForMethod(Method method, Callback<String> callback) { 
     service.getNonce("user", method.name(), callback); 
    } 
} 

ГЭТ нонс призывается нажатием кнопки, даже кто-то уже столкнулся с этим?

ответ

1

Я считаю, что проблема, с которой вы сталкиваетесь, заключается в том, что вы пытаетесь перестроить, но не используете асинхронную версию. Обратный вызов, вероятно, самый простой в использовании.

@GET("/user/{id}") 
void listUser(@Path("id") int id, Callback<User> cb); 

RestAdapter restAdapter = new RestAdapter.Builder() 
      .setServer("baseURL")  
      .build(); 
ClientInterface service = restAdapter.create(ClientInterface.class); 

Callback callback = new Callback() { 
    @Override 
    public void success(Object o, Response response) { 
//do something 
    } 

    @Override 
    public void failure(RetrofitError retrofitError) { 

    } 
}; 
service.listUser(1, callback); 

How to implement an async Callback using Square's Retrofit networking library

Android в настоящее время требует, чтобы сделать какие-либо webrequests асинхр в противном случае она выдаст ошибку.

Кроме того, retorfit преобразует/анализирует объект для вас, поэтому вам не нужно. Это экономит время, затрачиваемое на создание асинхронных задач и настройку синтаксического анализа. Это также дает хороший стандарт, который можно выполнять при выполнении запросов.

+0

Ну, на данный момент я делаю то же самое с помощью обратного вызова, чтобы установить текстовое представление с возвращаемым ответом, и я все еще получаю выполнение исключения по потоку пользовательского интерфейса – crazyPixel

+0

Я бы предложил предоставить еще несколько кода и некоторые больше информации о том, что вы делаете сейчас. Также присоедините логарифм, чтобы мы могли отфильтровать, что может быть проблемой. –

+0

Hi kalel, Мне удалось решить эту проблему в конце концов, но теперь я получаю исключение SSL, даже если сервер работает на http, а не на https - какие-либо идеи? Я отредактировал свой вопрос и добавил код. – crazyPixel