java如何使用jaxws从返回List<Object>的服务中检索值 4 日,1 小时 Questions & Answers 187 我有一个返回列表的服务,这个对象根据不同的场景而变化 有人能告诉我jax-ws是否支持这种行为,或者我们是否有其他选择
# 1 楼答案 由于JAX-WS使用JAXB序列化对象,JAXB需要知道marshall或unmarshall的类型名称。在一个独立的环境中,我们可以deal处理这类事情。但是,在处理对象列表时,这会变得更加复杂 此外,每个数据类型都必须在WSDL中定义。服务客户端必须能够将响应XML转换为所需的数据类型 如果希望返回不同类型的不同列表,最简单的方法是为响应使用包装器。e、 g public class ResponseWrapper { private List<Audio> audios; private List<Video> videos; // setters and getters } @WebService public class MediaStore { @Inject AudioService audioService; @Inject VideoService videoService; @WebMethod public ResponseWrapper getCollections(String artistId) { ResponseWrapper response = new ResponseWrapper(); response.setAudios(audioService.getAudios(artistId)); response.setAudios(videoService.getVideos(artistId)); return response; } } 另一种方法是直接使用SOAP messages,但可以避免这样做
# 1 楼答案
由于JAX-WS使用JAXB序列化对象,JAXB需要知道marshall或unmarshall的类型名称。在一个独立的环境中,我们可以deal处理这类事情。但是,在处理对象列表时,这会变得更加复杂
此外,每个数据类型都必须在WSDL中定义。服务客户端必须能够将响应XML转换为所需的数据类型
如果希望返回不同类型的不同列表,最简单的方法是为响应使用包装器。e、 g
另一种方法是直接使用SOAP messages,但可以避免这样做