2015-01-07 2 views
2

Я создаю клиент для Android-андроида для web-авины .net web api (MS azure). Я использую баночки:клиент андроид-клиента, дающий ошибку внутренней ошибки сервера 500 (с использованием модификации okhttp и gson)

модернизированных 1.7.1
okhttp 2.0.0
okhttp-URL-соединение 2.0.0
Окио 1.2.0
gson 2,3

Но получаю ошибку 500 Internal ошибка сервера для данных POST на сервере. :( Мой код:

RestApi.java:

общедоступный интерфейс RestApi {

@Headers({ 
    "Accept: text/xml", 
    "User-Agent: REST-Client", 
    }) 
@POST("/api/Account/Register") 
void sendPerson(@Body Person body, Callback<StatusData> callBack); 

}

MainActivity.java

RestAdapter restAdapter = new RestAdapter.Builder() 
    .setEndpoint(API_URL) 
    .setLogLevel(LogLevel.FULL).setLog(new AndroidLog("xx--LOG--xx")) 

    .build(); 

    RestApi post = restAdapter.create(RestApi.class); 


    post.sendPerson(new Person(), new Callback<StatusData>() { 


     public void failure(RetrofitError retrofitError) { 
       System.out.println(retrofitError.getMessage()); 
     } 

      public void success(StatusData arg0, Response arg1) { 
       System.out.println("barcode: " + arg0.created_at); 

     } 
    }); 

StatusData.java

общественного класса StatusData {

final String status; 
final String created_at; 

public StatusData() { 
     this.status = ""; 
     this.created_at = ""; 
    } 

}

Person.java: это просто класс POJO для имени
имя пользователя
пароль
город
Адрес
телефон
пинкод

пожалуйста, помогите мне ???????

+0

Надеюсь, проблема связана с вашим кодом .Net. –

ответ

0

Если ваш .Net-сервер будет принимать только xml, вы должны установить преобразователь (XML-конвертер) в свой RestAdapter. Refer http://square.github.io/retrofit/

RestAdapter restAdapter = new RestAdapter.Builder() 
.setEndpoint("https://api.soundcloud.com") 
.setConverter(new SimpleXMLConverter()) 
.build(); 
+0

«SimpleXMLCoverter() не может устранить ошибку. Является ли эта часть Retrofit ?? –

+0

Она работает с Simple (http://simple.sourceforge.net/). См. Https://github.com/square/retrofit/tree/master/retrofit-converters/simplexml Я думаю, вам нужно добавить зависимость для загрузки Simple Xml Serializer –

+0

Спасибо! Это работает ..... :) –