Présentation
Ce cas se présente quasi obligatoirement dans le cas où l’on interroge un WebService REST.
Le but de cet article est de présenter comment passer d’une donnée au format JSON au format XML.
Cette méthode peut facilement être étendue pour convertir dans l’autre sens (XML vers JSON) ou en remplaçant JSON par d’autre formats (CSV par exemple).
Dans OSB, la fonction permettant de convertir des données non XML est appelé nXSD (native XSD).
Exemple pas-à-pas
Création du schéma nXSD
- Récupérer un fichier JSON d’exemple (par exemple, depuis un appel au WebService via un navigateur).
Ce fichier servira d’exemple pour analyse et détermination du format cible. - Demander à créer un fichier nXSD.
- Définir un nom et un emplacement.
- Sélectionner le format de conversion (JSON dans notre cas).
- Charger le fichier d’exemple (Personnaliser les namespace, root element, si besoin).
Dans l’aperçu, le fichier d’exemple est contenu dans un seul champ : C1
Dans le cas où l’on travaille sur format CSV, chaque colonne serait associée à un champ CN, N étant le n° de la colonne. - A l’étape suivante, l’assistant propose le schéma XSD correspondant au fichier d’exemple du format source.
- Tester de la transformation via le bouton en bas à droite.
Dans l’exemple ci-dessous, le type du champ isActive a été modifié de string à booléen car répondant au format souhaité.
- Une fois terminé, on peut voir le schéma XSD comme attendu.
Test de la transformation
- Créer un pipeline dans lequel on place une simple activité « nXSD Translate ».
- Paramétrer ensuite cette activité.
Attention : comme dans cet exemple, on passe du format JSON vers XML, on choisit : translate = « Native to XML ». - Saisir manuellement, dans la partie Input, des données d’exemple pour exécuter un test.
- Pour finir, on teste le résultat.
- Pour aller plus loin, on peut facilement, convertir de XML à JSON en modifiant le type de l’objet Translate en « XML to Native ».
Pour en savoir plus sur OSB et l’intégration de services, découvrez notre formation « Oracle Service Bus 12c : Conception et Intégration de Services », ainsi que l’ensemble de nos formations Oracle Service Bus.
Voir aussi :
La documentation Oracle sur nXSD
La documentation de référence sur JSON et XML
D’autres article sur des sujets liés :
OSB 12c : Exposition d’un service REST
Test du connecteur REST/JSON
Merci à Cédric Soudant pour ses conseils et sa relecture.