Aller au contenu
  • Société
    • Qui sommes-nous
    • Nos valeurs
    • Nos partenaires
    • Entreprise citoyenne
    • Régions
  • Services
    • Expertise
    • Formation
    • Développement
    • Migration
    • Infogérance
  • Join the Team
  • Actualités
  • Blog
    • Blog easyteam.fr
    • Blog Cloud Natives
  • Formations
  • Rugb’Easyteam
  • Contact
Menu
  • Société
    • Qui sommes-nous
    • Nos valeurs
    • Nos partenaires
    • Entreprise citoyenne
    • Régions
  • Services
    • Expertise
    • Formation
    • Développement
    • Migration
    • Infogérance
  • Join the Team
  • Actualités
  • Blog
    • Blog easyteam.fr
    • Blog Cloud Natives
  • Formations
  • Rugb’Easyteam
  • Contact
Inscrivez-vous à la newsletter

Inscrivez-vous à la newsletter

Abonnez-vous maintenant et nous vous tiendrons au courant.
Nous respectons votre vie privée. Vous pouvez vous désabonner à tout moment.

Bienvenue sur le Blog d'EASYTEAM (ex ArKZoYd)

  • Accueil
  • Actualités
  • Cloud
  • Infrastructure
  • Données / Sécurité
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
Menu
  • Accueil
  • Actualités
  • Cloud
  • Infrastructure
  • Données / Sécurité
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • le 05/03/2018
  • Pierre Mazieres
  • Oracle Service Bus @fr, SOA & Urbanisation

OSB et REST : Conversion nXSD de JSON vers XML

Partager sur linkedin
LinkedIn
Partager sur twitter
Twitter
Partager sur facebook
Facebook

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

  1. Récupérer un fichier JSON d’exemple (par exemple, depuis un appel au WebService via un navigateur).exemple JSON
    Ce fichier servira d’exemple pour analyse et détermination du format cible.
  2. Demander à créer un fichier nXSD.
    création du nXSD
  3. Définir un nom et un emplacement.
    emplacement du nXSD
  4. Sélectionner le format de conversion (JSON dans notre cas).
    choix du format natif JSON
  5. Charger le fichier d’exemple (Personnaliser les namespace, root element, si besoin).
    aperçu et paramétrage du fichier d'exemple
    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.
  6. A l’étape suivante, l’assistant propose le schéma XSD correspondant au fichier d’exemple du format source.
    apperçu du schéma XSD généré
  7. 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é.
    test de la transformation proposée
  8. Une fois terminé, on peut voir le schéma XSD comme attendu.
    appercu du schéma nXSD final

Test de la transformation

  1. Créer un pipeline dans lequel on place une simple activité « nXSD Translate ».
    création du pipeline
  2. Paramétrer ensuite cette activité.
    paramétrage de la transformation
    Attention : comme dans cet exemple, on passe du format JSON vers XML, on choisit : translate = « Native to XML ».
  3. Saisir manuellement, dans la partie Input, des données d’exemple pour exécuter un test.
    saisie d'un JSON de test à transformer
  4. Pour finir, on teste le résultat.
    résultat de la transformation vers XML
  5. Pour aller plus loin, on peut facilement, convertir de XML à JSON en modifiant le type de l’objet Translate en « XML to Native ».
    convertion inverse : XML vers JSON
    saisie d'un XML de test à transformer
    résultat de la transformation vers JSON

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.
 

Pierre Mazieres
Pierre Mazieres
Voir tous ses articles
Partager sur linkedin
LinkedIn
Partager sur twitter
Twitter
Partager sur facebook
Facebook

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Les derniers articles

  • La fin d’OVM – L’essor d’OLVM 18/01/2021
  • Azure Netapp Files 11/01/2021
  • AWS – Choisir entre les services de messagerie pour les applications Serverless AWS 04/01/2021
  • RMAN : Dupliquer une base avec Restore database en 12c 28/12/2020
  • Run kafkaConnect with docker image 21/12/2020

Les derniers commentaires

  • Laurent GALLET dans Chiffrement du flux SQL*NET
  • SylvainF dans Oracle et VMware : risques, enjeux et solutions
  • Développer avec Oracle Functions - EASYTEAM dans Oracle Cloud Infrastructure Container Engine for Kubernetes
  • Younes dans Les bonnes raisons d’utiliser un CDN (réseau de diffusion de contenus / Content Delivery Network)
  • Bruno BOTTREAU dans Oracle et VMware : risques, enjeux et solutions
Espace Membres
Mot de passe perdu ?
EASYTEAM

Tour Nova, 71 Boulevard National,
92250 La Garenne-Colombes
Tél. 0800 40 60 40
contact@easyteam.fr

Facebook
Linkedin
Twitter
Navigation
  • Accueil
  • Qui sommes-nous
  • Entreprise citoyenne
  • Nos valeurs
  • Régions
  • Partenaires
  • Contact
  • Support
Menu
  • Accueil
  • Qui sommes-nous
  • Entreprise citoyenne
  • Nos valeurs
  • Régions
  • Partenaires
  • Contact
  • Support
Services
  • Développement
  • Migration
  • Infogérance
  • Expertise
  • Formation
Menu
  • Développement
  • Migration
  • Infogérance
  • Expertise
  • Formation
Blog
  • Cloud
  • Infrastructures
  • Data
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • Applications
Menu
  • Cloud
  • Infrastructures
  • Data
  • Intégration
  • Dev / DevOps
  • SAM / FinOps
  • Applications
Copyright 2018 - EASYTEAM, Tous droits réservés
Mentions légales
Politique de confidentialité​