I have to send a request with a json serialized object as a parameter, But i got a Internal Server Error (500). Here my code:
 GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = = gsonBuilder.create();
    HttpParams myHttpParams=new BasicHttpParams();
    Application myApp = new Application();
    myHttpParams.setParameter("app", gson.toJson(myApp));
    HttpClient client = HttpClientBuilder.create().build();
    HttpPost request = new HttpPost("https://foo.com/developers/apps.json");
    request.setParams(myHttpParams);
        request.addHeader("Authorization", "Basic cmljYXJkLm8sbGVAZ31haWwuY79tOkljb15vZmNvbWwzMDA=");
        request.addHeader("Accept", "application/json");
    HttpResponse response = client.execute(request);
    System.out.println("\nResponse Code SaveOrUpdate : " 
                    + response.getStatusLine().getStatusCode());
            System.out.println("\nResponse Code SaveOrUpdate : " 
                    + response.getStatusLine().getReasonPhrase());
Sample creation request command:
curl -X POST -H "Authorization: Basic cmljYXJkLm8sbGVAZ31haWwuY79tOkljb15vZmNvbWwzMDA=" "http://foo.com/developers/apps.json" -d '{"name": "myApp", "description" : "My app description lines go here", "callbackurl" : "http://my.callback.url"}'