我有一個在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