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

XML/XSL et SOAP Discussion :

Probleme de flux xml


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Probleme de flux xml
    Bonjour je développe en ce moment une application j2ee avec de l'ajax, l'application commence à prendre forme mais la je suis un petit soucis que j'essaie de régler depuis 2 jours mais rien n'y faire. Voila j'ai deux .jsp identique en terme de balise, elles font appel à la même fonction JavaScript qui va interroger une bd Oracle et retourne le résultat sous forme de XML. Et pour une page cela fonctionne et pour une autre elle me retourne rien du tout. J'ai tout essayé mais bon j'ai toujours cette erreur si quelqu'un pourrait m'aider à y voir plus claire.


    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    salut Kevin,
    je ne comprends pas bien,
    ton script JavaScript va interoger une base de donnée oracle ?
    peux tu poster ce script javaScript ?
    Kevin
    Développeur Java
    Site Web

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Voici le code de ma fonction JavaScript:


    Code JavaScript : 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    function rappel_exercice_anterieur1(){
     
        var xhr = getXMLHttpRequest();
     
        var mois = document.forms["form_annee_mois"].elements["mois1"].value;
        var annee = document.forms["form_annee_mois"].elements["annee1"].value;
        //alert("mois 1" + mois);
        //alert("annee 1" + annee);
        //alert("eh " + eh);
        // On précise ce que l'on va faire quand on aura reçu la réponse du serveur.
        xhr.onreadystatechange = function()
        {
            // Si l'on a tout reçu et que la requête http s'est bien passée.
            if (xhr.readyState === 4 && xhr.status === 200)
            {
                var text = "<table id='mytable' cellspacing='0'><tbody>\n\
                            <tr>\n\
                            <th class='nobg' abbr='Matricule' scope='col'>Matricule</th>\n\
                            <th abbr='Nom' scope='col'>Nom</th>\n\
                            <th abbr='Prenom' scope='col'>Prénom</th>\n\
                            <th abbr='Code Paie' scope='col'>Code Paie</th>\n\
                            <th abbr='Libellé' scope='col'>Libellé</th>\n\
                            <th abbr='Motif de Rappel' scope='col'>Motif de Rappel</th>\n\
                            <th abbr='Net' scope='col'>Net</th>\n\
                            </tr>";
     
                var libel_mois = "";
                var i, suggestions;
                alert(xhr.responseXML.getElementsByTagName("m").length);
     
                suggestions = xhr.responseXML.getElementsByTagName("m");
                for (i = 0; i < suggestions.length; i++) {
                    noeudm = suggestions[i];
                    matricule = noeudm.firstChild.nodeValue;
     
                    noeudNom = suggestions[i].getElementsByTagName("nom")[0];
                    nom = noeudNom.firstChild.nodeValue;
     
                    noeudPrenom = suggestions[i].getElementsByTagName("prenom")[0];
                    prenom = noeudPrenom.firstChild.nodeValue;
     
                    noeudcode_p = suggestions[i].getElementsByTagName("code_p")[0];
                    code_p = noeudcode_p.firstChild.nodeValue;
     
                    noeudlibelle_codep = suggestions[i].getElementsByTagName("libelle_codep")[0];
                    libelle_codep = noeudlibelle_codep.firstChild.nodeValue;
     
                    noeudmotif = suggestions[i].getElementsByTagName("motif")[0];
                    motif = noeudmotif.firstChild.nodeValue;
     
                    noeudmontant = suggestions[i].getElementsByTagName("montant")[0];
                    montant = noeudmontant.firstChild.nodeValue;
     
                    if (i % 2 == 0) {
                        text = text + "<tr><th class='spec' abbr='' scope='row'>" + matricule + "</th><td>" + nom + "</td><td>" + prenom + "</td><td>" + code_p + "</td><td>" + libelle_codep + "</td><td>" + motif + "</td><td>" + montant + "</td></tr>";
                    }
                    else {
                        text = text + "<tr><th class='specalt' abbr='' scope='row'>" + matricule + "</th><td>" + nom + "</td><td>" + prenom + "</td><td>" + code_p + "</td><td>" + libelle_codep + "</td><td>" + motif + "</td><td>" + montant + "</td></tr>";
                    }
                }
     
                text = text + "</tbody></table>";
     
                libel_mois = libelle_mois(mois) + "/" + annee;
                alert(libel_mois);
                alert(text);
                var elt_mois = document.getElementById("libel_1_mois_recherchenom");
                var elt = document.getElementById("bloc_result1");
                elt.innerHTML = text;
                elt_mois.innerHTML = libel_mois;
            }
        };
     
        // Requête au serveur avec les paramètres éventuels.
     
        var param = "mois_select=" + mois + "&annee_selected=" + annee;
     
        var url = "ServletRappelEA";
     
        //alert(param);
        alert(url + "?" + param);
     
        xhr.open("POST", url, true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send(param);
    }

  4. #4
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Kevin,
    merci pour ton code JavaScript.
    c'est de l'Ajax basique dans lequel tu exploite la responseXML de ton objet xhr.
    mais ou te connectes tu as ta base Oracle je ne vois rien ?
    Kevin
    Développeur Java
    Site Web

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    ah désolé je m'excuse oui il a bien le script de ma servlet la voici
    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
     
    public class ServletRappelEx extends HttpServlet {
     
        /**
         * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
         * methods.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException, ClassNotFoundException, SQLException {
            response.setContentType("application/xml");
            try (PrintWriter out = response.getWriter()) {
                out.println("<?xml version=\"1.0\"?>");
                out.println("<rappelE>");
                String restrict = request.getSession().getAttribute("restriction").toString();
                String eh_ession = "";
                String mois = request.getParameter("mois");
                String annee = request.getParameter("annee");
     
                if (request.getSession().getAttribute("eh_session") != null) {
                    eh_ession = request.getSession().getAttribute("eh_session").toString();
                }
     
                if (request.getSession().getAttribute("code_eh_choisie") != null) {
                    eh_ession = request.getSession().getAttribute("code_eh_choisie").toString();
                }
     
                Md_bd_O c = new Md_bd_O();
                ArrayList<VR> l = c.liste_agent_rappel_e(eh_ession, restrict, mois, annee);
     
                for (VR l_attribut : l) {
                    out.println("<a>" + l_attribut.getMatCAgent());
                    out.println("<nom_agent_rappelE>" + l_attribut.getNomAgent() + "</nom_agent_rappelE>");
                    out.println("<prenom_agent_rappelE>" + l_attribut.getPrenomAgent() + "</prenom_agent_rappelE>");
                    out.println("<code_agent_rappelE>" + l_attribut.getCruCRubrique() + "</code_agent_rappelE>");
                    out.println("<lib_agent_rappelE>" + l_attribut.getLibellecrucrubrique() + "</lib_agent_rappelE>");
                    out.println("<motif_agent_rappelE>" + l_attribut.getHprCMotif() + "</motif_agent_rappelE>");
                    out.println("<net_agent_rappelE>" + l_attribut.getHprMMontant() + "</net_agent_rappelE>");
                    out.println("</a>");
                }
     
                out.println("</rappelE>");
            }
        }

    j'ai effectué certains test c'est à dire je fais une redirection vers une jsp qui m'affiche mon résultat et en effet la jsp m'affiche toutes mes lignes récupérées dans la bd.

    Je m'excuse encore.

  6. #6
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    bon merci pour ton code de servlet.

    décidemment on partait sur du XML on a fait un peu de AJAX et maintenant une servlet.
    à un moment on va devoir parler architecture sur ce fil.

    une question : est ce que ta méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.liste_agent_rappel_e(eh_ession, restrict, mois, annee)
    ne peuple ton arraylist qu'avec les données d'un seul agent ou de plusieurs ? car je n'ai pas le code source de ta classe .

    Kevin
    Développeur Java
    Site Web

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Ma méthode retourne un ensemble d'agent.
    Concernant ma servlet après avoir récupéré ma liste d'agent je formate ces données en XML avec des balises et que je renvoie à ma fonction java Script.
    Après quelques recherches et avec le mode console de Firefox j'ai une erreur au niveau du XML celui-ci se trouvant mal formé apparemment...

    Merci de me répondre dans tous les cas.

    Kevin

  8. #8
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    salut kevin
    peut etre que ta balise <a> pour dire que c'est un agent est interpreté comme la balise <a> standard du HTML
    essaie de l'appeler <AGENT> pour voir
    mais de facon generale, je te conseille pas de faire du XML brut dans ton servlet. Mais plutot d'utiliser les librairie JAVA XML au moins tu es sur que ton XML sera bien formé.
    Kevin
    Développeur Java
    Site Web

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci du conseil je vais me renseigner sur cela.

    En tout cas merci je te ferais un retour.

Discussions similaires

  1. Probleme de lecture d'un flux XML depuis une URL
    Par euyeusu dans le forum ASP
    Réponses: 3
    Dernier message: 10/09/2008, 22h01
  2. PHP probleme avec flux RSS, XML
    Par sirbaldur dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2006, 15h34
  3. Réponses: 5
    Dernier message: 09/03/2006, 15h00
  4. probleme lors de l'analyse d'un flux xml sous asp
    Par jlassira dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/07/2005, 14h01
  5. [DOM] Comment créer des flux XML en java ?
    Par nean_j dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/04/2004, 12h00

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