7
votes

Comment soumettre des données JSON en tant que demande de demande d'Apache CXF JAX-RS (RESTE)

J'utilise Apache-CXF pour créer des services Web de repos et essayer de soumettre un formulaire.

serveur:

Ceci est ma méthode, qui devrait obtenir des données JSON. P>

{"Customer":{"name":"Arnav Awasthi","id":6}}


1 commentaires

Il est nécessaire d'avoir un nom racine dans le corps de la demande, j'ai besoin d'avoir le même service que le vôtre, mais je ne reçois pas le nom root dans ma demande JSON String.


7 Réponses :


2
votes

Vous devez trouver un moyen de dire Firefox de définir le type de contenu à l'application / JSON. L'erreur indique qu'il envoie quelque chose d'autre.


0 commentaires

4
votes

Utilisez RestClient, un plugin pour Fire Fox et ajoutez les en-têtes HTTP comme accepte: Application / JSON, Type de contenu: Application / JSON.


0 commentaires

2
votes

Désolé pour la réponse tardive, mais cela peut servir aux autres.

Vous devriez Doublecheck que votre classe client est annotée avec le @xmlrootelement de Jaxb, puisque Jackson en a besoin pour désérialiser le message JSON.


0 commentaires

2
votes

J'ai eu la même erreur il y a quelque temps. Il semble que la raison principale était une exception "Aucun lecteur de corps de message n'a été trouvé pour la classe de demande".

Selon http://www.javatips.net/blog/ 2012/02 / CXF-Didacticiel Repostful J'ai ajouté une bibliothèque de jettison pour résoudre ce problème.


0 commentaires

0
votes

Vous devez ajouter des en-têtes personnalisés pour informer le client quel type de données vous renvoie par exemple: Nom de l'en-tête: Type de contenu Valeur d'en-tête: Application / JSON


0 commentaires

1
votes

J'ai fait face au même problème à l'aide de CXF 2.7.4 avec JASCKON 2.x.x. Mais il a été corrigé lorsque j'ai mis à niveau vers CXF 2.7.7. Ou utilisez jackson 1.9.x avec CXF 2.7.4.


0 commentaires

0
votes

J'ai eu le même problème. La solution consistait à supprimer le nom de la classe de haricots de la chaîne JSON. Dans votre cas, le Json qui devrait être envoyé comme le corps serait,

{"name":"Arnav Awasthi","id":6}


0 commentaires