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

NetBeans Java Discussion :

[JAXWS] generation WS: je n'y comprends plus rien


Sujet :

NetBeans Java

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 103
    Points
    103
    Par défaut [JAXWS] generation WS: je n'y comprends plus rien
    Bonjour.

    J'ai 2 web services

    le premier :
    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
    package com.hotelxx.services;
     
    import com.hotelxx.services.parameters.RetriveBookingRequest; 
    import com.hotelxx.services.parameters.RetriveBookingResponse; 
    import javax.jws.WebParam;
    import javax.jws.WebResult;
    import javax.jws.WebService;
     
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6445EFC0-370D-A704-920D-CCB72A763208]
    // </editor-fold>
    @WebService(serviceName="RetriveBookingServices")
    public class RetriveBookingServices {
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.6816510F-5379-3E01-9517-36341E8A86F5]
        // </editor-fold> 
        public RetriveBookingServices () {
        }
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.FEC96047-614F-B8CC-43EC-EF2122619C92]
        // </editor-fold>
        @WebResult(name="RetriveBookingResponse")
        public RetriveBookingResponse retrieveBooking (@WebParam(name = "retriveBookingRequest")RetriveBookingRequest retriveBookingRequest) {
            return null;
        }
     
    }
    avec la classe response:
    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
    package com.hotelxx.services.parameters;
     
    import com.hotelxx.entity.Reservation; 
     
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9A0CCA30-94F7-9F02-B31B-63E83438EA2D]
    // </editor-fold> 
    public class RetriveBookingResponse extends BookingResponse {
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.4E579D4B-3005-9CC0-C4D4-8F8056B13552]
        // </editor-fold> 
        private Reservation mReservation;
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.0CEC57FA-5A53-91EB-6168-91AAD7E3A3AC]
        // </editor-fold> 
        public RetriveBookingResponse () {
        }
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,regenBody=yes,id=DCE.F637C27D-2378-10EF-99F4-7D0DC113C954]
        // </editor-fold> 
        public Reservation getReservation () {
            return mReservation;
        }
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,regenBody=yes,id=DCE.8AE71BCD-B5D0-A914-6C94-4408CEBC63F5]
        // </editor-fold> 
        public void setReservation (Reservation val) {
            this.mReservation = val;
        }
     
    }
    le second :
    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
    package com.hotelxx.services;
     
    import com.hotelxx.services.parameters.UpdateBookingRequest; 
    import com.hotelxx.services.parameters.UpdateBookingResponse; 
    import javax.jws.WebParam;
    import javax.jws.WebResult;
    import javax.jws.WebService;
     
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.CCE0BF1B-9FC6-7316-2F93-CAB29A7C525B]
    // </editor-fold>
    @WebService(serviceName="UpdateBookingServices")
    public class UpdateBookingServices {
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.075F4AAF-A6FB-1A00-7079-AFF3C94F25B8]
        // </editor-fold> 
        public UpdateBookingServices () {
        }
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.E5E2AEC8-295D-B9E3-6071-20AE90256AEE]
        // </editor-fold>
        @WebResult(name="UpdateBookingResponse")
        public UpdateBookingResponse updateBooking (@WebParam(name = "updateBookingRequest")UpdateBookingRequest updateBookingRequest) {
            return null;
        }
     
    }
    avec la classe response :
    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
     
    package com.hotelxx.services.parameters;
     
     
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1F08F67D-18D4-5DAF-D52D-02ED00A19982]
    // </editor-fold> 
    public class UpdateBookingResponse extends BookingResponse {
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.F4CF0F66-8290-DD78-82D3-2C6CCEED7B69]
        // </editor-fold> 
        public UpdateBookingResponse () {
        }
     
    }
    Le premier tout va bien quand je génére le wsdl et me génére une classe Response :
    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 com.hotelxx.services.jaxws;
     
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlType;
    import com.hotelxx.services.parameters.RetriveBookingResponse;
     
    @XmlRootElement(name = "retrieveBookingResponse", namespace = "http://services.hotelxx.com/")
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "retrieveBookingResponse", namespace = "http://services.hotelxx.com/")
    public class RetrieveBookingResponse {
     
        @XmlElement(name = "RetriveBookingResponse", namespace = "")
        private RetriveBookingResponse retriveBookingResponse;
     
        /**
         * 
         * @return
         *     returns RetriveBookingResponse
         */
        public RetriveBookingResponse getRetriveBookingResponse() {
            return this.retriveBookingResponse;
        }
     
        /**
         * 
         * @param retriveBookingResponse
         *     the value for the retriveBookingResponse property
         */
        public void setRetriveBookingResponse(RetriveBookingResponse retriveBookingResponse) {
            this.retriveBookingResponse = retriveBookingResponse;
        }
     
    }
    et le second j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    wsgen-UpdateBookingServices:
    Z:\2-PROJETS\V2-hotelxxServices\V2-hotelxxServices-war\nbproject\jaxws-build.xml:33: Error starting wsgen: 
    BUILD FAILED (total time: 3 seconds)
    et me génére une classe Response :
    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
     
    package com.hotelxx.services.jaxws;
     
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlType;
     
    @XmlRootElement(name = "updateBookingResponse", namespace = "http://services.hotelxx.com/")
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "updateBookingResponse", namespace = "http://services.hotelxx.com/")
    public class UpdateBookingResponse {
     
        @XmlElement(name = "UpdateBookingResponse", namespace = "")
        private com.hotelxx.services.parameters.UpdateBookingResponse updateBookingResponse;
     
        /**
         * 
         * @return
         *     returns UpdateBookingResponse
         */
        public com.hotelxx.services.parameters.UpdateBookingResponse getUpdateBookingResponse() {
            return this.updateBookingResponse;
        }
     
        /**
         * 
         * @param updateBookingResponse
         *     the value for the updateBookingResponse property
         */
        public void setUpdateBookingResponse(com.hotelxx.services.parameters.UpdateBookingResponse updateBookingResponse) {
            this.updateBookingResponse = updateBookingResponse;
        }
     
    }
    Vous remarquerez la difference, dans le premier, j'ai un import de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com.hotelxx.services.parameters.
    et pas dans le segond.

    si je remplace "UpdateBookingResponse" par "String" dans le WS qui me pose probleme, ca fonctionne.

    Les deux classes Response sont dans le meme package.
    Je ne vois pas la raison de cette difference de traitement.
    j'ai besoin d'un coup de main svp
    merci

  2. #2
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 103
    Points
    103
    Par défaut
    Apres 2 jours de recherche, j'ai enfin compris.

    à la generation de code pour le WS "UpdateBookingServices", JAXWS/NetBeans génére une classe "package.jaxws.UpdateBookingServicesResponse" pour représenter la reponse du service.
    Et moi je m'etais créé un objet pour la reponse que j'avais aussi applelé "package.UpdateBookingServicesResponse"

    et donc il s'embrouille avec 2 classes qui portent le meme nom et qui ne sont pas dans le meme package.

    J'ai donc remplacé ma classe de retour par "UpdateBookingServicesReturn"

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

Discussions similaires

  1. Action sur un bouton..Je comprends plus rien du tout!
    Par koolway dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/04/2006, 10h17
  2. Réponses: 4
    Dernier message: 20/04/2006, 14h25
  3. Réponses: 12
    Dernier message: 03/01/2006, 17h23
  4. Je n'y comprend plus rien
    Par Pingouinvert dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 11/09/2005, 10h57
  5. [Kylix] Je n'y comprends plus rien
    Par fafamonteko dans le forum EDI
    Réponses: 5
    Dernier message: 02/03/2004, 16h48

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