You explicitly set httppost.setHeader("Accept", "application/json");
which means that you only accept json as response. Most probably the server is trying to send you a reponse that it is not a json so it signals with 406.
If you remove the httppost.setHeader("Accept", "application/json")
you may try to see what is the raw response and adjust the "Accept" header accordingly.
EDIT: reposnse from the server is text/plain
so changing the "Accept" to "text/plain" will do the job