Bonjour,
problème java et web services
Je travaille avec Eclipse et j'ai créé 2 web services dans le même projet.
Voici l'interface de ces 2 web services:

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
package ws;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;
import....
 
/**
 * Définition du WebService
 */
@WebService
public interface IFob
{
    /**
     * Donne toutes les fiches de type 1
     * @param nomProjet
     *            Nom du projet Nom du projet
     * @return Toutes les fiches visibles
     * @throws AccesRefuseException
     *             La personne n'a pas le droit d'accéder à la méthode
     */
    @WebMethod(operationName="listeToutesLesFobs")
    @WebResult
    List< FobVO > listeToutes(final String nomProjet)
        throws AccesRefuseException;
    @WebMethod ....
....
}
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
package ws;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;
import....
 
/**
 * Définition du WebService
 */
@WebService
public interface IPmo
{
    /**
     * Donne toutes les fiches de type 2
     * @param nomProjet
     *            Nom du projet Nom du projet
     * @return Toutes les fiches visibles
     * @throws AccesRefuseException
     *             La personne n'a pas le droit d'accéder à la méthode
     */
    @WebMethod(operationName="listeToutesLesPmos")
    @WebResult
    List< PmoVO > listeToutes(final String nomProjet)
        throws AccesRefuseException;
    @WebMethod ....
....
}
Les Classes Fob et Pmo qui implémentent ces 2 interfaces héritent toutes deux d'une classe abstraite appelée Fiche, contenant entre autres la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
List< F > listeToutes(final String nomProjet){...}
Cette méthode est donc partagée par les deux classes Fob et Pmo. (Fob et Pmo ne surchargent pas cette méthode.)

J'ai donc créé 2 web services qui utilisent la même méthode dont le type de retour est générique.

Je laisse JAX WS publier mes web services, d'abord pmos, puis fobs (dans cet ordre):
<endpoint
name='Pmos'
implementation='Pmo'
url-pattern='/services/Pmos.Service'
enable-mtom="true" />
<endpoint
name='Fobs'
implementation='Fob'
url-pattern='/services/Fobs.Service'
enable-mtom="true" />

Le lancement du serveur ne génère aucun problème. Mais quand je regarde le xsd relatif au service Fobs, je vois:

<xs:element name="listeToutesLesFobs" nillable="true" type="tns:listeToutesLesPmos"/>
<xs:element name="listeToutesLesFobsResponse" nillable="true" type="tns:listeToutesLesPmosResponse"/> **


<xs:element name="listeToutesLesPmos" type="tns:listeToutesLesPmos"/>
<xs:element name="listeToutesLesPmosResponse" type="tns:listeToutesLesPmosResponse"/> ****


alors que celui du services Pmos est correct:

<xs:element name="listeToutesLesPmos" type="tns:listeToutesLesPmos"/>
<xs:element name="listeToutesLesPmosResponse" type="tns:listeToutesLesPmosResponse"/>


** pourquoi name et type ne correspondent-ils pas?

**** pourquoi JAX WS créé-t-il l'élément listeToutesLesPmos ?

Une même méthode implémentée utilisée par 2 web services pose-t-elle des problèmes à JAXWS?

Quelqu'un a-t-il une idée?

Gilles