IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Manipulation d'un fichier wsdl


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 174
    Par défaut Manipulation d'un fichier wsdl
    Bonjour tous le monde,

    j'ai voulu manipuler un fichier wsdl. étant donné que l'api utilisé pour manipuler les fichiers xml en général est JDOM donc j'ai jeté un coup d'oeuil sur cette api. donc je peut maintentant créer, parcourir, et supprimer certaines noeuds a partir d'un fichier xml.
    Mon probleme est que je peut pas appliquer les regles de cette api sur ce fichier wsdl malgré quelle fonctionne très bien sur les fichiers xml.

    Merci d'avance pour me répondre ama question.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    c'est très vague tout ça... un ptit message d'erreur serait le bienvenue...


  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    WSDL est un format qui est plutôt prévu pour être généré automatiquement à partir d'un Schema et d'une définition de service SOAP, construits avec un éditeur spécialisé.

    Ce n'est pas trop fait pour être manipulé après génération automatique. Bon, c'est du XML, donc c'est du domaine du faisable, mais n'étant pas prévu pour, ça va être compliqué.

    Citation Envoyé par Dine_Med Voir le message
    donc je peut maintentant créer, parcourir, et supprimer certaines noeuds a partir d'un fichier xml.
    Tous les nœuds en fait.

    Citation Envoyé par Dine_Med Voir le message
    Mon probleme est que je peut pas appliquer les regles de cette api sur ce fichier wsdl malgré quelle fonctionne très bien sur les fichiers xml.
    Deux possibilités :
    - si, c'est juste qu'il y a un truc que tu n'as pas compris. Namespaces, nœuds texte, ce genre de choses.
    - Le WSDL n'est pas valide. Si c'est XML, alors JDOM est applicable dessus. C'est pas forcément le meilleur choix, mais en tout cas ça marche. Or, WSDL est XML. Donc JDOM fonctionne très bien avec. Conclusion, un WSDL avec lequel JDOM ne fonctionne pas n'est pas un WSDL.

    Citation Envoyé par Dine_Med Voir le message
    Merci d'avance pour me répondre ama question.
    Quelle question ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 174
    Par défaut
    pour mettre les points sur le lettre voila mon exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    import org.jdom.output.*;
    import java.util.List;
    import java.util.Iterator;
     
    public class JDOM3
    {
       static org.jdom.Document document;
       static Element racine;
     
       public static void main(String[] args)
       {
           try
           {
              lireFichier("AWSECommerceService.wsdl");
              supprElement("message");
              enregistreFichier("AWSECommerceService2.wsdl");
            }
            catch(Exception e){}
       }
     
       static void lireFichier(String fichier) throws Exception
       {
          SAXBuilder sxb = new SAXBuilder();
          document = sxb.build(new File(fichier));
          racine = document.getRootElement();
       }
     
       static void supprElement(String element)
       {
          List listmessage= racine.getChildren(element);
          Iterator i = listmessage.iterator();
    r
          while(i.hasNext())
          {
             Element courant = (Element)i.next();
     
             if(courant.getChild(element)!=null)
             {
     
                courant.removeChild(element);
     
             }
          }
       }
     
     
     static void enregistreFichier(String fichier) throws Exception
       {
             XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
             sortie.output(document, new FileOutputStream(fichier));
       }
    }


    C'est tiré du tutoriel Manipuler des données XML avec Java et JDOM
    et le fichier wsdl que je veut manipuler AWSECommerceService.wsdl

    Je veut supprimer toute les elements message.Mais ce code ne marche pas.

    Merci d'avance pour l'aide.

  5. #5
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Il faut assurer que ton code peut retrouver les elements avec "message" (attention aux namespace)

    et apres tu changes ton code comme suit:

    Au lieu de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    courant.removeChild(element);
    Essais de faire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine.removeChild(courant);(element);

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 174
    Par défaut
    Bonsoir,

    Mon problème est que je peut pas trouvé les éléments "message" donc je peut les supprimer. comment je dois procéder?

    Merci d'avance.

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Il faudrait que tu te renseignes un peu sur les namespaces en XML, puis, une fois que tu as compris, que tu te remettes sur le problème.

    Tu n'arriveras pas à grand-chose tant que tu comprendras pas de quoi on te parle.

    Malheureusement, je ne sais pas où trouver de bons tutoriels sur les namespaces en XML (moi j'ai appris en cours et avec des bouquins épuisés.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 10
    Dernier message: 27/02/2006, 16h55
  2. [fstream] Manipulation d'un fichier ...
    Par Zenol dans le forum SL & STL
    Réponses: 6
    Dernier message: 11/02/2006, 10h49
  3. manipulation d'un fichier indexé par un arbre b
    Par nemya_1 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 21/01/2006, 19h30
  4. [C /C++] generer SOAP a partir d'un fichier WSDL
    Par Mokhtar BEN MESSAOUD dans le forum XML
    Réponses: 1
    Dernier message: 26/07/2005, 13h55
  5. Réponses: 4
    Dernier message: 31/07/2004, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo