J'ai un service web en Java qui a été implémenté sur jax-ws. Ce service Web renvoie une liste générique d'utilisateurs. Ça fonctionne très bien :).Comment configurer WebService pour renvoyer ArrayList au lieu de Array?
@Stateless(name = "AdminToolSessionEJB")
@RemoteBinding(jndiBinding = "AdminToolSessionRemote")
@Remote(AdminToolSessionRemote.class)
@WebService
public class AdminToolSessionBean implements AdminToolSessionRemote {
...
@WebMethod(operationName = "GetAllUsers")
@WebResult(name = "AllUsers")
public List<User> getAllUsers() {
return userSessionRemote.getAllUsers();
}
...
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "User")
public class User extends BasicDataTransferObject {
...
@XmlElement(name = "Groups")
private List<Group> groups;
...
}
Mais je vais utiliser ce service web dans les applications .Net. Lorsque j'ajoute ce service web en tant que service wcf ou service web dans VS2005 ou VS2008 ou VS2010, VS génère un tableau à la place de la liste générique 'Group [] Groups'. Je change 'Type de collection' dans la boîte de dialogue 'Configuration Service Reference ...' à 'System.Collections.Generic.List' mais VS génère un tableau :(.
Je dois générer VS liste générique ou ArrayList, ce que je devrais faire?
Merci pour votre aide, oui dans .Net, service web générer WSDL comme votre échantillon pour la liste et la collection. Mais je ne pouvais pas faire ce WSDL par jaxb, pour le test j'écris un fichier XSD et fais une structure comme celle-ci dit malheureusement que ce WSDL pratique ne génère pas de liste aussi. Pas de problème mon collègue écris un mappeur pour mapper notre DTO à notre modèle voulu. C'est une bonne solution, mais chaque fois que j'ai du temps libre, testez votre idée. –