Http 415 Unsupported Media type d'erreur avec JSON

Je suis l'appel de service REST JSON demande et il donne Http 415 "Unsupported Media Type" d'erreur.

Demande type de contenu est défini à l' ("Content-Type", "application/json; charset=utf8").

Il fonctionne très bien si je n'inclus pas l'objet Json dans la demande. Je suis en utilisant google-gson-2.2.4 bibliothèque json.

J'ai essayé en utilisant un couple de différentes bibliothèques, mais il ne fait aucune différence.

Quelqu'un peut-il m'aider à résoudre ce problème?

Voici mon code:

public static void main(String[] args) throws Exception
{
JsonObject requestJson = new JsonObject();
String url = "xxx";
//method call for generating json
requestJson = generateJSON();
URL myurl = new URL(url);
HttpURLConnection con = (HttpURLConnection)myurl.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Content-Type", "application/json; charset=utf8");
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("Method", "POST");
OutputStream os = con.getOutputStream();
os.write(requestJson.toString().getBytes("UTF-8"));
os.close();
StringBuilder sb = new StringBuilder();  
int HttpResult =con.getResponseCode();
if(HttpResult ==HttpURLConnection.HTTP_OK){
BufferedReader br = new BufferedReader(new   InputStreamReader(con.getInputStream(),"utf-8"));  
String line = null;
while ((line = br.readLine()) != null) {  
sb.append(line + "\n");  
}
br.close(); 
System.out.println(""+sb.toString());  
}else{
System.out.println(con.getResponseCode());
System.out.println(con.getResponseMessage());  
}  
}
public static JsonObject generateJSON () throws MalformedURLException
{
String s = "http://www.abc.com";
s.replaceAll("/", "\\/");
JsonObject reqparam=new JsonObject();
reqparam.addProperty("type", "arl");
reqparam.addProperty("action", "remove");
reqparam.addProperty("domain", "staging");
reqparam.addProperty("objects", s);
return reqparam;
}
}

Valeur de requestJson.toString est :

{"type":"arl","action":"supprimer","domaine":"mise en scène","objets":"http://www.abc.com"}

  • Veuillez mettre à jour votre question avec la valeur de requestJson.toString()
  • La valeur de requestJson.toString est : {"type":"arl","action":"supprimer","domaine":"mise en scène","objets":"abc.com"}
  • Avez-vous écrit la partie serveur? Si vous faites la même demande avec Facteur (les extensions de Chrome, Google), ça fonctionne? Peut-être que le serveur n'accepte pas le JSON type de contenu pour une raison quelconque?
  • Oui j'ai testé que l'utilisation de soapUI. J'ai envoyé exactement la même demande, y compris json et a obtenu des succès de la réponse du serveur.
  • depuis le 14 mars 2017, Facteur chrome extension est obsolète. Ils se sont déplacés à l'application native. Voici leur blog: http://blog.getpostman.com/2017/03/14/going-native/
InformationsquelleAutor user3443794 | 2014-03-21