Jackson JSON ne fonctionne pas avec CXF
La JacksonJsonProvider ne fonctionne pas avec CXF.
CXF v2.6.0
Jackson v2.1.2 (com.fasterxml.jackson)
RESTClient (pour les tests)
J'ai le fournisseur configuré comme ci-dessous dans beans.xml.
<bean id="jacksonMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd'T'HH:mm:ss.SSSZ"> </constructor-arg>
</bean>
</property>
</bean>
<bean id="jacksonProvider" class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider">
<property name="mapper" ref="jacksonMapper" />
</bean>
dans jaxrs:serveur.....>
<jaxrs:providers>
<ref bean="jaxbProvider" />
<ref bean="jacksonProvider" />
</jaxrs:providers>
</jaxrs:server>
L'application est déployée sans aucun problème, il donne de bons JSON alors que je donne à la demande "application/xml" et la réponse "application/json".
Lorsque j'essaie de donner JSON dans la demande en définissant le Contenu-Type=application/json je suis face à l'500 Erreur Interne du Serveur
La demande est prise en consigné dans le fichier journal thru CXF d'enregistrement.
La demande n'est pas du tout de l'atterrissage dans la mise en œuvre des services de classe de mon webservice.
Le JSON dans le corps de la requête est :
{"SearchOrdersRequest":{"LoginCredentials":{"AppId":"BookStore","Username":"myuser","Password":"abcd1234","SecurityToken":"Vcvx45YilzX1"},"SearchHeader":{"SearchCategory":"Rep","FilterLogic":"1 AND 2","SearchParams":{"Field":"Order Number (s)","Operator":"EQUALS","Values":"600045335"}}}}
Dans l'immédiat, l'aide est appréciée.
OriginalL'auteur JBJ | 2013-01-18
Vous devez vous connecter pour publier un commentaire.
Dans CXF documentation , vous pouvez voir où vous devez ajouter json fournisseur et comprennent une dépendance. Mais, j'ai toujours des erreurs lorsque j'ai essayé d'ajouter jackson au lieu de larguer, après quelques heures, j'ai pensé que vous avez besoin d'inclure un plus jackson dépendance.
Ajouter JSON fournisseur de
Ajouter des dépendances
comment repleace jaxrs:fournisseurs de pure javaconfig (pas de xml?)
OriginalL'auteur user1572786
Comme je l'ai undertood vous, votre demande de produit et consomme de l'xml et le format json. Alors, tout d'abord. S'assurer que votre cxf des ressources d'extrémité sont en mesure de le faire.
Sinon votre demande ne trouverez pas toutes les ressources de mise en œuvre. (au ces de ligne au niveau de la classe ou au niveau de la méthode)
Puis si cela ne suffit pas de vérifier cette jackson cxf intégration:
Aussi
Le contexte de résolution de la classe où le mappeur est défini:
Et juste au cas où vous déployez votre application dans un conteneur j2ee, vous pouvez avoir besoin d'une config de classe:
Espérons que cette aide.
NP, vous êtes les bienvenus
OriginalL'auteur Antonio Maria Sanchez Berrocal
Il y a quelques temps j'ai eu des problème avec un json demande quand je n'avais pas renoncer à la bibliothèque dans le classpath.
Vérifier http://www.javatips.net/blog/2012/02/cxf-restful-tutorial tutoriel.
OriginalL'auteur kolchanov
Afin d'utiliser jackson bibliothèque en substituant larguer, vous devez configurer jacksonprovider comme suit
OriginalL'auteur java specialist
Dans des circonstances normales, si vous déployez une EE serveur en ajoutant simplement que la dépendance du fournisseur devait être automatiquement détectés et utilisés (j'ai testé largeur TomEE 7):
Mais veillez à utiliser la bonne version. CFX guide suggère une Jackson JAX-RS fournisseur qui est uniquement compatible avec les Jackson 1 et pas pour Jackson 2. Regarder à cette question pour plus de détails
OriginalL'auteur lujop