Anmol Nimbalkar
Anmol Nimbalkar

Reputation: 39

android rest client giving error of internal server error 500 (using retrofit okhttp and gson)

I am creating a android rest client for a .net web api (MS azure). I am using jars:

retrofit 1.7.1
okhttp 2.0.0
okhttp-url-connection 2.0.0
okio 1.2.0
gson 2.3

But getting an error 500 Internal server error for POST data on server. :( My Code is:

RestApi.java :

public interface 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

public class StatusData {

final String status;
final String created_at;

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

}

Person.java : is just a POJO class for name
username
password
city
address
phone
pincode

please help me???????

Upvotes: 2

Views: 3733

Answers (1)

Yogesh Narayanan
Yogesh Narayanan

Reputation: 866

if your .Net server would accept only xml you should setConverter (XML Converter) on your RestAdapter. Refer http://square.github.io/retrofit/

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

Upvotes: 1

Related Questions