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

API standards et tierces Android Discussion :

Connexion BDD Oracle


Sujet :

API standards et tierces Android

  1. #21
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par android59 Voir le message
    Bon, j'ai passé le week end sur le problème , j'ai installé NetBean pour développer avec, je te parle pas du foin que ça a fait avec Eclipse, des problèmes avec le jre et une fois qu'il s'est ouvert eclipse il me met des erreurs partout , bref j'ai donc créer mon webservice sous netbean ainsi que mon projet.

    J'ai suivi un tuto pour voir à peu pres comment procéder pour la connexion , la methode est la suivante :

    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
     
        Connection conn;
        Statement st;
        ResultSet res;
     
    ............
        Class.forName("oracle.jdbc.driver.OracleDriver");
    //je suppose que je dois renseigner la chaine de connexion ici 
     
        String url = "jdbc:oracle:thin:@//127.0.0.1:1521/xe";  
    //ici je suppose que l'url vers ma bdd autrement dit ici localhost:1521/XE
     
        conn = DriverManager.getConnection(url, "personne", "personne");
    //et ici il se connecte à la bdd et à la table
    .......................
    donc si j'ai bien tout compris c'est à peut près la même chose, enfin je vais revoir tout ça par contre lui il utilise JDBC donc moi je pense que je vais devoir modifier cela, enfin je y reflechir
    Si le serveur oracle se trouve sur le même poste que le serveur d'application qui héberge ton WS, alors ce qui va changer dans l'URL ne sera peut être que le nom de la base de données ainsi l'utisateur et son mot de passe. Par ailleurs, je pense que tu utiliseras de même une connexion par JDBC, mais aussi tu dois ajouter le driver de Oracle dans le classpath de ton projet pour que cela marche. En définitive, essaie d'avancer un tout petit peu (jusqu'à établir une connexion réussi à ta bdd) puis on verra comment mettre tout en ordre afin de satisfaire ton client Android.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  2. #22
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    ok ça marche , hier j'ai fais mon interface et elle est quasiment prête, je vais regarder du coté de la connexion maintenant !

  3. #23
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Dans mon webservice, j'ai mes methodes de créées , j'ai regardé pour générer le wsdl ça ok, mais seulement quand j'essaye de le lancer via run ça me dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    The module has not been deployed.
    See the server log for details.
    BUILD FAILED (total time: 3 minutes 14 seconds)

    j'ai donc crée un nouveau serveur donc là ok avec tomcat, je clique droit sur mon ws puis run , il m'ouvre la page " http://localhost:8080/AppWS/ " et sur la page il est marque " Hello World " et rien d'autres, donc en gros ça marche ?

    Pourtant j'ai crée d'autres methodes, une qui affiche une liste de resultat, une pour se connecter et une de mise à jour. Petite parenthèse, quand j'avais créé des WS en c# avec visual studio, j'arrivais sur une page avec toutes mes methodes sous forme de lien et je pouvais les tester ,mais ici ce n'est pas le cas, comment ça se fait ?
    Et est il possible d'avoir " la meme chose " , c'est à dire voir la liste de mes methode et le tester comme pour les ws en c# ?

    MERCI !

  4. #24
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    normalement j'ai mis une image en piece jointe pour illustrer mon poste ci dessus

  5. #25
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Est ce que tes méthodes sont-elles marquées @webmethode? Au passage, les méthodes qui sont censées fonctionner comme des services côté client ne sont pas des simples méthodes, elle sont créées en utilisant des annotations. Sur la page que tu as mise en pièce jointe, j'en déduis qu'il y a qu'un seul service que ton WS met à la disposition des clients. De préférence, moi j'utilise l'outil de génération automatique quand je crée mes méthode. Cela met pour moi des annotations un peu partout au besoin et je ne m'occupe que de l'écriture du code.

    Oooh... Mais ce que je vois sur ta pièce jointe n'est qu'une simple page jsp mon cher. Comment tu fais pour créer ton WS? Je comme l'impression que tu crées une application web à la place.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  6. #26
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    oui en effet , je suis parti d'une application web en suivant un tuto , car sous netbean j'ai pas trouvé comment créer directement des webservices sans passé par une appweb, pourrais tu m'en dire plus peut etre ? CAR j'ai pas l'habitude avec netbean, sinon je te met un morceau de code pour te donner une idée :

    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
     
        /**
         * This is a sample web service operation
         */
        @WebMethod(operationName = "hello")
        public String hello(@WebParam(name = "name") String txt) {
            return "Hello " + txt + " !";
        }
     
      @WebMethod(operationName = "EnvoieNom")
        public String EnvoieListe(@WebParam(name = "nom") String nom, @WebParam(name = "prenom") String prenom) {
            //TODO write your implementation code here:
            return "Hello " + nom + " prenom : " + prenom+  !";
        }
     
     
    // et ma methode connecte que je dois adapté certe
       @WebMethod(operationName = "Connexion")
        public void connect() {
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                String url = "jdbc:oracle:thin:@//127.0.0.1:1521/xe";
                conn = DriverManager.getConnection(url, "personne", "personne");
               // return "Connexion success";
            } catch (SQLException ex) {
                Logger.getLogger(WebservicesOffre.class.getName()).log(Level.SEVERE, null, ex);
              //  return "Connexion failed";
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(WebservicesOffre.class.getName()).log(Level.SEVERE, null, ex);
              //  return "Connexion failed";
            }
        }
    j'ai créer une petite méthode justement qui retourne le nom et prenom que l'on doit " normalement saisir " mais bon j'ai toujours le HelloWord , étrange car j'ai testé ça sous visual studio 2013 et justement je peux saisir des données il me retourne un xml avec le nom et prenom enfin bref c'est pas bien important, je suppose, le principal c'est que j'arrive à faire appel a mon ws sur mon client android .

    A ce propos je suppose qu'ensuite je génère le wsdl et dans mon app android, j'import le wsdl il ne me restera plus qu'a appeler la methode connect() etc.....

  7. #27
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Je pense que tu devrais plutôt voir la liste de tous les services proposés par ton WS et non pas une page web jsp. Quelque part tu ne fais pas bien les choses. Vois tu le contenu du fichier wsdl? Comment tu fais pour déployer ton WS? Peux tu me passer le lien du tuto que tu utilises?
    Par ailleurs, essaie de lire celui-ci : https://netbeans.org/kb/docs/websvc/jax-ws.html
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  8. #28
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    merci pour le lien
    Donc voici le tuto que j'ai regardé pour la création de mes 1er ws :


    Oui je peux bien voir le contenu du wsdl quand je l'ai générer. Pour faire correctement les choses , j'ai fais la chose suivante :
    - new project
    - Sample -> webservices -> Rest helloworld Jee6 ( description : Creates a web project containing a simple HelloWorld RESTful web service. ) c'est ce qui m'a semblé le choix le plus jsute

    Dans le dossier webservices déjà présent j'ai " newWebservice" : j'y ai mis toutes mes méthodes jusque là ok donc j'ai pas d'erreur dans mon code , je lance en faisant " run " et j'obtiens le message d'erreur suivant en pièce jointe ( j'utilise apache tomcat 8.0 car tomcat 6.0 n'apparait pas sur la liste des serveurs) .... à force de persévérer je vais finir par y arriver fiou , .... ne jamais laisser tomber lol

  9. #29
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Je t'encourage d'ailleurs, ne baisse pas les bras.
    Là je comprends que nous n'utilisons pas la même approche. Dans ton tuto, ils utilisent le WS de type restfull, tandis que moi par contre j'utilise soap. Pour restfull, je ne saurai pas trop t'aider(je ne l'ai pas encore utilisée). Si tu veux passer à soap, suis le lien que je t'avais passé dans le post précédent. C'est plus pratique, facile et bien expliqué.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  10. #30
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Oui cest en forgeant qu'on devient forgeron comme on dit !
    je regarde ça et je reviens dici jeudi/vendredi car la j'aide pour un déménagement en ce moment et jsuis naz, , sinon justement avec vstudio j'utilisé soapui aussi pour test mes ws , un grand merci n,empêche !

  11. #31
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    salut
    bon j'ai lu le tuto que tu m'a link seulement je pense que le problème vient du fait que je n'utilisais pas Glassfish, j'utilise Tomcat comme serveur donc il m'afficher que la page jsp, est ce pour ça ? ( je te passe les pb d'utilisation des ports que j'ai rencontré mais résolu, d'ailleurs j'ai fais une petite feuille avec tous les ports principaux utilisé pour que je m'y retrouve avec internet, oracle, wamp tomcat etc.....lol )

    Ensuite j'ai créé comme il le disait un " maven calculator service" , dans le fichier ws, j'y ai mis mes fonctions et voila ce que j'ai ( copie d'écran ws1.jpg, pour ça j'ai utilisé glassfich par defaut), donc pour créé mes webservices faut que j'utilise ce genre d'application " maven .. " ?ça me parait obscur tout ça, pourquoi ça marche comme ça et pas avec mes appWeb,bref.

    Donc à partir de maintenant, je vais remodeler ma fonction de connexion à ma base pour savoir s'il elle se connecte bien à oracle, en affichant un message de succès ou non et ceci fait, je dois m'atteler à mon app android pour la consommation du ws

  12. #32
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par android59 Voir le message
    bon j'ai lu le tuto que tu m'a link seulement je pense que le problème vient du fait que je n'utilisais pas Glassfish, j'utilise Tomcat comme serveur donc il m'afficher que la page jsp, est ce pour ça ?
    Non, tu peux utiliser glassfich comme tomcat sans problème. d'ailleurs il n'ont rien avoir dans la création d'un web service. Ils sont utiliser en gros pour héberger des applications accessibles de l'extérieur. Seulement, peut être que tu t'y prenais mal. Moi j'utilise tomcat et des fois glassfich ça marche nickel.

    Citation Envoyé par android59 Voir le message
    ( je te passe les pb d'utilisation des ports que j'ai rencontré mais résolu, d'ailleurs j'ai fais une petite feuille avec tous les ports principaux utilisé pour que je m'y retrouve avec internet, oracle, wamp tomcat etc.....lol )
    Je n'ai pas vu la feuille en question... lol

    Citation Envoyé par android59 Voir le message
    donc pour créé mes webservices faut que j'utilise ce genre d'application " maven .. " ?ça me parait obscur tout ça, pourquoi ça marche comme ça et pas avec mes appWeb,bref.
    Pour créer un web service avec NetBeans, tu peux utiliser une web application, EJB module ou un projet maven. Cela dépend de l'implémentation dans laquelle tu te sens le plus à l'aise. Moi, j'utilise une web application et ça marche sans me casser la tête.

    Citation Envoyé par android59 Voir le message
    Donc à partir de maintenant, je vais remodeler ma fonction de connexion à ma base pour savoir s'il elle se connecte bien à oracle, en affichant un message de succès ou non et ceci fait, je dois m'atteler à mon app android pour la consommation du ws
    Une petite précision, parmi les services que tu vas mettre à disposition de ton client Android, omettre la connexion à la base de données. Cela doit être une méthode qui sera appelé dans chaque service désirant un objet Connection pour interroger la BDD. Dans un premier temps, pour le test comme tu as l'évoqué tu peux créer un service mais quand ça marche, tu lui enlèves ce statut.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  13. #33
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    salut
    pour les ports c'est normal, j'ai reglé le problème ^^

    Je suis sur les webservices, j'essaye de les tests , par exemple voici ma methode connect :

    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
     
     Connection conn;
        Statement st;
        ResultSet res;
        @WebMethod(operationName = "ConnexionBase")    
        public String connect() {
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                String url = "jdbc:oracle:thin:@//127.0.0.1:1521/xe";
                conn = DriverManager.getConnection(url, "system", "eternity");
                return "Success Connection";
     
            } catch (Exception ex) {
               // Logger.getLogger(GestionnaireOffre.class.getName()).log(Level.SEVERE, null, ex);
                return "Connection failed : sqlException :" + ex.toString()  ;
     
            }
     
        }
    comme je te l'ai dis, j'ai fais comme cela, pour détecter les éventuelles erreurs, ce matin j'ai test et il m'a retourné un nullpointeException, mais maintenant je n'arrive plus à run mes ws et c'est chiants, au début quand je faisais run sous netbean j'avais la page normal avec mes ws et maintenant il me met ça dans la normal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    HTTP Status 404 - Not Found
     
    type Status report
     
    messageNot Found
     
    descriptionThe requested resource is not available.
     
    GlassFish Server Open Source Edition 4.1
    alors que le 1er essai ça marche nickel et pour mon 2eme test ouf et pouf ça marche plus, j'ai la gigne ou quoi lol

  14. #34
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par android59 Voir le message
    comme je te l'ai dis, j'ai fais comme cela, pour détecter les éventuelles erreurs, ce matin j'ai test et il m'a retourné un nullpointeException
    Tu peux poster le message complet de ton stackTrace stp? Soit tu test d'abord ta méthode en dehors du webservice pour voir si ça marche et ça ne renvoie pas un nullPointerException

    Citation Envoyé par android59 Voir le message
    mais maintenant je n'arrive plus à run mes ws et c'est chiants, au début quand je faisais run sous netbean j'avais la page normal avec mes ws et maintenant il me met ça dans la normal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    HTTP Status 404 - Not Found
     
    type Status report
     
    messageNot Found
     
    descriptionThe requested resource is not available.
     
    GlassFish Server Open Source Edition 4.1
    alors que le 1er essai ça marche nickel et pour mon 2eme test ouf et pouf ça marche plus, j'ai la gigne ou quoi lol
    Là, ce que je comprends, le serveur n'arrive plus à accéder à tes ressources. Peut être que tu as touché à quelque chose...
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  15. #35
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Je sais pas, ça me parait louche, peut etre quand j'ai essayé de changer de serveur mais ça m'étonnerais que se soit ça, c'est bizarre cette histoire, un coup ça marche avec glassfish, j'essaye avec tomcat, puis je relance glassfish et là ça marche plus, pourtant il me dit bien dans l'onglet quand je clique sur run "succeful ".

    Je met en pièce jointe les deux fichiers , le 1er nommé glassfish contient les lignes dans la fenetre en bas ' glassfish server 4.1 " et le second dans l'onglet " run " .

    Je t'es envoyé la trace que j'obtiens par mp quand je lance avec tomcat

  16. #36
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    petit up, j'ai créer un nouveau projet , exactement le même et copier coller les webservices pendant un instant ça marché et dès que j'ai supprimer le package cal du projet , bizarrement ça ne fonction fonctionne plus ,j'obtiens la page http404 etc....... alors que si j'avais laissé le package, les seuls méthodes présente sont celle du package calc c'est bizarre :s

    J'ai donc refait le test, j'ai crée un projet maven donc j'ai mon dossier webservices dans lequel se trouve un fichier java " calculatorService.java" , j'y ai donc mis mon fichier " gestionnaireoffre.java" dans ce dossier , mais lorsque je fais run, j'ai que les methodes du fichier calculator.java, je pense donc qu'il prend en compte que ce fichier, je comprend pas pourquoi ?

    Pourquoi il ne prend pas en compte mes 2 fichiers ? Car selon moi si j'ai un fichier " calcul.java ", gestionoffre.java et autre.java, moi il me parait logique que toutes mes méthodes doivent s'afficher , mais il n'y a que les methodes de calcul.java prise en compte enfin bref voila quoi ...... mais bon si je fais clique droit sur " gestionnaireoffre.java " là il m'ouvre la page avec mes methodes que j'ai créé.

    Ceci fait, j'ai donc relancer pour test ma méthode connect() et voila le message que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    WS00041: Service invocation threw an exception with message : null; Refer to the server log for more details
    Exceptions details : java.lang.NullPointerException
     
    javax.servlet.ServletException: java.lang.NullPointerException at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:342) at org.glassfish.webservices.monitoring.WebServiceTesterServlet.invoke(WebServiceTesterServlet.java:106) at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:157) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:313) ... 32 more

  17. #37
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Salut,
    Je ne vois pas pourquoi mettre les méthodes du service web dans des classes différentes. Tous les services que doit proposer un web service doivent se situer dans un seul endroit, donc dans une même classe annotée @webservice (Si je n'exagère pas dans mes affirmations).
    Mets toi en tête que, dans le web service, seules les méthodes importantes, directement utilisables par le client qui va consommer ce dernier doivent figurer, avec annotation @webmethod. Mais aussi, toute méthode non annotée @webmethod ne sera pas visible par le client consommateur.

    Pour conclure, si tu veux que toutes tes méthodes des autres classes soient listées parmi les services du websevice, écris les directement dans l'unique classe Calculator.java car j'ai comme l'impression que c'est le point d'entrée, donc le webservice en vrai.
    Aussi, je ne vois pas pourquoi tu crées un projet maven que tu ne comprend même pas le fonctionnement pour créer ton webservice. Utilise plutôt une web application qui ne demanderait pas le ciel et la terre...

    Et pour l'erreur, ta méthode connec() renvoie un NullPointerException. Je te demanderais de la tester d'abord dans un projet à part pour voir avec précision l'erreur qui est renvoyée avant de l'écrire dans le webservice (d'ailleurs je procède toujours de la sorte pour toutes mes méthodes)
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  18. #38
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Oui c'est ce que je me disais.

    En fait, je me suis dis étant donné que j'ai crée un projet j'ai créé un nouveau webservice par définition, au début je n'avais pas trop pigé cela, mais maintenant ça va .

    Je regarde ça pour la méthode connect() et reviens

  19. #39
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut avancé
    comme le dit l'intitulé voici mon avancé sur l'appli :

    sous netbeans : j'ai créé mes webservices et lorsque je test tout vas bien, je clique sur wsdl et j'ai l'adresse du lien de mon wsdl


    sous eclipse : j'ai mon application, ce que j'ai fais ensuite c'est new-> webservices ->webservicesclient ; dans "service definition" j'ai fais "browse" puis j'ai mis le lien de mon wsdl puis ok .
    Il m'a importé mes classes -> voir piece jionte, tu y verras mes classes importées ainsi que ma méthode connect()

    voici un extrait de code de mon programme :
    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
     
    	Button BtnNewOffre;
        Connection conn;
       Statement st;
       ResultSet res;
     
     
    	public final static String URL = "http://localhost:XXXX/mavenCalculator/CalculatorService?WSDL";
    	public static final String NAMESPACE = "http://sample";
     
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.accueil);
      		try{
     
      	        BtnNewOffre = (Button) findViewById(R.id.btnOffre);
     
      	        BtnNewOffre.setOnClickListener(new View.OnClickListener() {
      	            public void onClick(View v) {
      	               //  Perform action on click   
     
      	             //  Intent activityChangeIntent = new Intent(MainActivity.this, OffreActivity.class);
      	                //startActivity(activityChangeIntent);
     
      	                connect();
     
     
     
     
      	            }
      	        });
     
     
        	}
        	catch (Exception e) {
        		// TODO Auto-generated catch block
                Toast.makeText(MainActivity.this,String.format("Exception",e.toString()),Toast.LENGTH_SHORT).show();
     
        	} 
     
     
        }//fin OnCreate
    ma methode connect:
    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
     
       public void connect() {
            try {
                //oracle.jdbc.driver.OracleDriver  
                Class.forName("oracle.jdbc.OracleDriver");
                String url = "jdbc:oracle:thin:@//127.0.0.1:1521/xe";
                conn = DriverManager.getConnection(url, "system", "eternity");
                //return "Success Connection";
     
            } catch (SQLException ex) {
     
                Toast.makeText(MainActivity.this,String.format("Error SQLException: ",ex.toString()),Toast.LENGTH_SHORT).show();
                //Logger.getLogger(MainActivity.class.getName()).log(Level.SEVERE, null, ex);
     
     
     
            } catch (ClassNotFoundException ex) {
     
                 Toast.makeText(MainActivity.this,String.format("Error ClassNotFoundException"+ex.toString(),ex.toString()),Toast.LENGTH_SHORT).show();
     
     
            }    
        }//fin methode connect
    Donc lorsque je clique sur le bouton pour tester ma méthode, il va dans le " ClassNotFoundException" et il me retourne l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ClassNotFoundException oracle.jdbc.driver.OracleDriver
    je me suis renseigné sur le net et apparemment cela viendrait d'un problème de compatibilité avec OracleJDBC et android . Petite info , j'utilise ojdbc14.jar comme librairie.

    Par ailleurs je ne sais pas si je m'y prend bien pour me connecter à ma base avec la methode connect ? Merci pour votre aide !!

  20. #40
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Bonjour,

    Déjà, tu t'y prends très mal. Tu mélanges un peu les choses. Il faut séparer la partie métier à la partie graphique (Client). L'implémentation de la méthode connect() devrait rester gérer par la partie métier (web service) et non pas dans Android.

    En plus, ta façon d'importer le web service n'est pas dédiée à Android.

    PS : Laisse la connexion à la base de données être gérée dans le web service.

    Je suis entrain de rédigé (C'est presque fini d'ailleurs) un tutoriel qui montre comment consommer un web service depuis Android. Il n'est pas encore publié malheureusement. Dès que je serai devant mon ordi, je te passerai le fichier pour voir car si je me mettais à le faire ici ce serait plus long.

    Christian,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. test de connexion BDD ORACLE
    Par Katachana dans le forum SGBD
    Réponses: 2
    Dernier message: 12/03/2008, 15h28
  2. [2.2.2] Problème connexion BDD Oracle JDBC
    Par BlueSky dans le forum BIRT
    Réponses: 6
    Dernier message: 12/03/2008, 15h22
  3. Reflexion : Connexion à BdD Oracle
    Par ftcalvados dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/01/2008, 11h59
  4. connexion bdd oracle avec perl
    Par hammag dans le forum SGBD
    Réponses: 4
    Dernier message: 11/01/2008, 16h24
  5. Connexion BDD oracle TNS protocol adapter error
    Par cedrickb dans le forum Access
    Réponses: 3
    Dernier message: 30/12/2004, 13h02

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