Bonjour.
J'ai 2 web services
le premier :
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 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; } }
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
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; } }
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 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; } }
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 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 () { } }et le second j'ai une erreur :
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 me génére une classe Response :
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)Vous remarquerez la difference, dans le premier, j'ai un import de
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; } }et pas dans le segond.
Code : Sélectionner tout - Visualiser dans une fenêtre à part com.hotelxx.services.parameters.
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
Partager