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

Services Web Java Discussion :

Web services/ JBOSS 4.0 / eclipse WTP


Sujet :

Services Web Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Web services/ JBOSS 4.0 / eclipse WTP
    Bonjour,

    Je dois développer un service web en java. Ce service doit se connecter à une base de données et faire des requêtes simples.

    Je n'ai jamais développer de service web et j'aimerai avoir quelques conseils pour démarrer. J'ai regardé des tutoriels trouvés sur internet mais je dois dire que je suis un peu perdu.

    J'ai un serveur d'application Jboss4 installé sous le répertoire C:\Adobe\Livecycle8\JBOSS.

    J'ai créé sous eclipse WTP un projet Web Dynamic. J'ai créé une classe java simple pour tester avec une méthode qui prend un string et renvoie ce string.

    Dans Windows -> Preferences -> Installed Runtime, j'ai ajouté le serveur JbossV4 et dans Default Directory mis C:/Adobe/LiveCycle8/jboss

    J'ai ensuite fait un clic droit sur ma classe puis créer webservices.

    Si on serveur et démarrer, j'ai une erreur pour démarrer le serveur parce que le port est déjà utilisé (normal) mais si il est arrêté alors j'ai une erreur impossible de le démarrer.

    Est ce que je fais ce qu'il faut ? Je navigue un peu à vue. Si vous avez des conseils pour que le développement soit le plus simple possible je suis preneur.


    Merci d'avance

  2. #2
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Points : 215
    Points
    215
    Par défaut
    Bonjour,

    J'ai suivi moi-même cette démarche sans problème avec Eclipse 3.3.2 et un serveur d'applications Tomcat 6.0.

    Quand tu crées un nouveau projet "Dynamic Web Project", tu dois ensuite définir ton serveur d'applications, dans ton cas JBoss V4, mais je suppose que tu as dû passer par-là.
    Après avoir écrit la classe représentant ton service, tu peux générer ton service web avec New > Other..., puis en sélectionnant Web Services > Web Service (là encore, tu as dû faire ça).
    Ensuite, tu auras une fenêtre où tu devras bouger deux curseurs sur "Start service" et "Test client" et cocher "Monitor the Web service".
    Eclipse génère alors le service web (le serveur spécifié doit être arrêté), puis propose des pages jsp de test (Methods, Inputs et Result).
    Tu pourras enfin créer ton propre client dans le projet ton_serviceClient automatiquement créé par Eclipse à la génération du service web.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse mais je suis passé par netbeans finalement

    J'ai réussi à développer, déployer et utiliser un webservice simple.
    J'essaye maintenant de récupérer des information d'une base de données mais je ne comprends pas trop quoi faire pour pouvoir gérer des types complexes : tableaux ou ResultSet.

  4. #4
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Points : 215
    Points
    215
    Par défaut
    Je ne suis malheureusement pas en mesure de t'aider à ce sujet...

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci quand même.

    Si quelqu'un le peux qu'il n'hésite pas

  6. #6
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Je trouve le web service assez peu adapté à ton besoin (mais c'est juste mon avis... )

    Je trouve que le web service est approprié pour des données fortement typées, avec une granularité de services de haut niveau.

    Par exemple, un service "creerPersonne" qui aurait comme paramètre une structure de données représentant une personne (nom, prénom, age etc...)
    Dans ce cas, tu peux exposer une interface "claire" à tes clients.

    Dans ton cas, tu veux faire quelque chose de beaucoup plus générique...
    c'est bien sûr possible, mais je trouve que le jeu n'en vaut pas la chandelle...

    Si tu veux (ou tu dois...) quand même faire cela, je te conseil d'utiliser tes propres structures pour passer et surtout retourner les données. Essaie d'utiliser des objets "stateless", qui ne contiennent que des données. Ne cherche pas à retourner un ResultSet directement... Utilise plutôt le dans ton service pour remplir ta propre structure de donnée qui sera elle renvoyé dans le message SOAP après avoir été convertie. Après, il y a encore tout le problème des types...

    non, vraiment, je ne suis pas sûr que le web service soie la meilleure technologie pour ce genre de chose...

    A+

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je dois utiliser un service web pour récuperer des données dynamiquement dans un formulaire pdf dynamique que je génère avec adobe livecycle designer et dont je me sers ensuite dans un workflow.

    Si je créé un objet pour y stocker le résultat de ma requête, comment puis le rendre utilisable par mon service web ?

    Merci

  8. #8
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    cela dépend du framework que tu utilises. Je bosse avec jax-ws. j'utilise donc la commande wsgen côté serveur, et wsimport côté client.
    A+

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je travaille avec Netbeans 5.5 pour créer mon service web. Je crois que le framework utilisé est JAX-RPC. En fait je m'occupe que des créer mes classes java et de déployer le service sur mon serveur. Pour le client, je récupere une connection au webservice dans le logiciel adobe designer.

  10. #10
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    je ne connais pas bien JAX-RPC, mais je suppose qu'il doit avoir une commande equivalente à wsgen...

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je ne connais pas plus que toi. Netbeans me propose juste de choisir pour wscompile entre différentes options : documentliteral, rpcliteral, strict, useonewayoperation, donotoverride.

    J'ai créer une classe Personne pour récuperer mes données :

    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
    package info;
     
    import java.io.Serializable;
    /**
     *
     * @author jerome
     */
    public class Personne implements Serializable {
     
        private String nom;
        private String prenom;
        /** Creates a new instance of Personne */
        public Personne(){
     
        }
     
        public Personne(String n, String p) {
            nom = n;
            prenom = p;
        }
     
        public String getNom(){
            return nom;
        }
     
        public String getPrenom(){
            return prenom;
        }
     
        public void setNom(String n){
            nom = n;
        }
     
        public void setPrenom(String p){
            prenom = p;
        }
    }
    Et voici mon fichier wsdl :

    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
    54
    55
    56
    <?xml version="1.0" encoding="UTF-8"?>
     
    <definitions name="InfoN" targetNamespace="urn:InfoN/wsdl" xmlns:tns="urn:InfoN/wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="urn:InfoN/types">
      <types>
        <schema targetNamespace="urn:InfoN/types" xmlns:tns="urn:InfoN/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema">
          <complexType name="requete1">
            <sequence>
              <element name="String_1" type="string" nillable="true"/></sequence></complexType>
          <complexType name="requete1Response">
            <sequence>
              <element name="result" type="tns:Personne" nillable="true"/></sequence></complexType>
          <complexType name="Personne">
            <sequence>
              <element name="nom" type="string" nillable="true"/>
              <element name="prenom" type="string" nillable="true"/></sequence></complexType>
          <complexType name="tableau">
            <sequence/></complexType>
          <complexType name="tableauResponse">
            <sequence>
              <element name="result" type="string" nillable="true" minOccurs="0" maxOccurs="unbounded"/></sequence></complexType>
          <element name="requete1" type="tns:requete1"/>
          <element name="requete1Response" type="tns:requete1Response"/>
          <element name="tableau" type="tns:tableau"/>
          <element name="tableauResponse" type="tns:tableauResponse"/></schema></types>
      <message name="InfoNSEI_requete1">
        <part name="parameters" element="ns2:requete1"/></message>
      <message name="InfoNSEI_requete1Response">
        <part name="result" element="ns2:requete1Response"/></message>
      <message name="InfoNSEI_tableau">
        <part name="parameters" element="ns2:tableau"/></message>
      <message name="InfoNSEI_tableauResponse">
        <part name="result" element="ns2:tableauResponse"/></message>
      <portType name="InfoNSEI">
        <operation name="requete1">
          <input message="tns:InfoNSEI_requete1"/>
          <output message="tns:InfoNSEI_requete1Response"/></operation>
        <operation name="tableau">
          <input message="tns:InfoNSEI_tableau"/>
          <output message="tns:InfoNSEI_tableauResponse"/></operation></portType>
      <binding name="InfoNSEIBinding" type="tns:InfoNSEI">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <operation name="requete1">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/></input>
          <output>
            <soap:body use="literal"/></output></operation>
        <operation name="tableau">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/></input>
          <output>
            <soap:body use="literal"/></output></operation></binding>
      <service name="InfoN">
        <port name="InfoNSEIPort" binding="tns:InfoNSEIBinding">
          <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>
    J'ai toujours le même problème de deserialisation au moment de récupérer mes données.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 28
    Points : 28
    Points
    28
    Par défaut utiliser hibernate avec webservice jboss
    bonjour
    tu sais que j'ai rencontré le mémé problème que vous,par ce que dans mon projet je veux créer un service crud (Create Read Update Delete) on utilisant hibernate et quand j'ai voulé récupérer une liste de projet j'ai eu ce problème mais pour le moment je le contourne par deux méthode la premier qui me retourne un seul élément (un seul projet) et une autre méthode qui me retourne le nombre d'enregistrement sur ma table Projet

    en tous les cas je vous donne mon code source peut être vous inspirer un peu

    dans le code source j'ai enlevé les lib nécéssaire parcequ'il prend bcp d'espace ,en tous les cas son les lib necéssaire pour hibernate et le jdbc de mysql

    amuser vous a trouver une solution avec nous
    bon courage
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Web Service Jboss 6.1.0
    Par lea.soineca dans le forum Services Web
    Réponses: 3
    Dernier message: 05/11/2014, 10h38
  2. Web services en Java avec Eclipse
    Par gegou dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 02/05/2011, 14h59
  3. Web service sur EJB sous eclipse
    Par yolepro dans le forum Services Web
    Réponses: 4
    Dernier message: 03/11/2009, 16h21
  4. Problème de création d'un web service avec tomcat sous eclipse
    Par elfenomeno9 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 17/02/2009, 11h05
  5. débutant [web services]+[jboss]
    Par apoca dans le forum Wildfly/JBoss
    Réponses: 6
    Dernier message: 28/06/2007, 10h19

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