Question

WS pour faire un service Web. Comme paramètres, je prends deux cordes et un tableau d'un objet dont le type sont une classe dans mon projet.

Je l'interface WebService et la mise en œuvre créée et il est semblable à ceci:

@WebMethod(operationName = "getStuff")
@WebResult(name = "result")
 Mix getStuff(
    @WebParam(name = "string1") String one,
    @WebParam(name = "string2") String two,
    @WebParam(name = "stuff") Stuff[] stuff
);

Je retourne un objet de type Mix qui est une classe dans mon projet et j'accepte un tableau de type Stuff qui est une autre classe dans mon projet. Test de java est pas un problème mais quand quelqu'un tente d'autre de consommer le service ou je tente d'envoyer une demande avec soapUI le tableau est toujours à venir dans le vide. Que dois-je faire quiconque consomme mon service peut envoyer correctement dans le tableau de type Stuff? Est-ce que je dois faire une personnalisation avec JAXB?

Était-ce utile?

La solution

jaxb2 utilise des listes et des tableaux non, vous devez donc remplacer la signature à

@WebMethod(operationName = "getStuff")
@WebResult(name = "result")
 Mix getStuff(
    @WebParam(name = "string1") String one,
    @WebParam(name = "string2") String two,
    @WebParam(name = "stuff") java.util.List<Stuff> stuff
);

En outre, assurez-vous que Mix et Stuff ont des annotations JAXB.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top