Reputation: 39
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
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