2017-10-07 10 views
0

J'ai reçu une spécification d'un service RESTful au format json et j'ai besoin de créer une bibliothèque d'API Java pour le client.Utilisation de json comme source pour cxf-wadl2java

Maintenant, swagger peut le faire sans problème, mais je préférerais utiliser cxf-wadl2java maven plugin. Par défaut, il ne s'attend pas au format json. Voir la trace de la pile cause d'exception ci-dessous.

Existe-t-il un moyen de configurer le plugin cxf-wadl2java pour lire le document json?

Causée par: com.ctc.wstx.exc.WstxUnexpectedCharException: caractère inattendu '{' (code 123) dans prolog; attendu '<' à [ligne, col {source inconnue}]: [1,1] à com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar (StreamScanner.java:653) à com.ctc.wstx. sr.BasicStreamReader.nextFromProlog (BasicStreamReader.java:2133) à com.ctc.wstx.sr.BasicStreamReader.next (BasicStreamReader.java:1181) à org.apache.cxf.staxutils.StaxUtils.readDocElements (StaxUtils.java: 1367) à org.apache.cxf.staxutils.StaxUtils.readDocElements (StaxUtils.java:1261) à org.apache.cxf.staxutils.StaxUtils.read (StaxUtils.java:1189) à org.apache.cxf. staxutils.StaxUtils.read (StaxUtils.java:1178) à org.apache.cxf.staxutils.StaxUtils.read (StaxUtils.java:1168) à org.apache.cxf.tools. wadlto.jaxrs.SourceGenerator.readXmlDocument (SourceGenerator.java:1757) ... 32 plus

+1

En bref non ...... –

+0

@KarthikPrasad pessimiste mais probablement à droite. Si vous avez fourni cette réponse, je l'aurais acceptée. Connaissez-vous un outil de conversion qui peut faire le travail (et peut être intégré dans un script Maven)? –

Répondre

1

Peut être que vous pouvez avoir la conversion en deux étapes. swagger.json au fichier wadl, puis utilisez le plugin wadl2java.

  1. Installation NPM dans votre machine
  2. utilisation du plugin maven exec et commande run défini dans this npm package convertir fanfaronnades à WADL.
  3. Utilisez le plugin cxf wadl2java pour générer le fichier java à partir du fichier wadl généré ci-dessus.
+0

Assez compliqué mais semble être la seule solution possible. J'accepte et j'essaierai ça plus tard. Merci –