我有一个在jax-ws上实现的java的web服务。该Web服务返回用户的通用列表。它工作得很好:)。如何配置WebService以返回ArrayList而不是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;
...
}
但我会在.Net应用程序中使用此Web服务。当我在VS2005或VS2008或VS2010中将此Web服务添加为wcf服务或Web服务时,VS会生成数组而不是泛型列表'Group [] Groups'。我将'配置服务参考...'对话框中的'集合类型'更改为'System.Collections.Generic.List',但VS生成阵列:(。
我需要VS生成通用列表或ArrayList,我应该怎么办?
感谢您的帮助,在.Net中,是的,Web服务生成类似于List和Collection样本的WSDL。但是我无法通过jaxb来创建这个WSDL,为了测试我编写了一个XSD文件并构建了这样的结构,不幸的是,这个方便的WSDL不会生成List。没问题,我的同事编写映射器将我们的DTO映射到我们想要的模型。这是一个很好的解决方法,但每次我有空闲时间再次测试你的想法。 – 2010-01-31 14:00:27