Response profile(@WebParam(name = "key") String key,
@WebParam(name = "data") HashMap<String, Object>[] dataList);
在webservice中,我已将其声明为上述内容,但它没有使用泛型hashmap,而是拾取List而不是HashMap [] dataList。
public Response profile(
@WebParam(name = "key", targetNamespace = "")
String key,
@WebParam(name = "data", targetNamespace = "")
List<HashMap> data);
答案 0 :(得分:0)
Web服务由WSDL描述,因此仅限于WSDL可以描述的内容。 WSDL是跨语言,跨平台的,它根本不做泛型。它做数组,地图,原始类型。 WSDL背后的想法是服务可以用Java或COBOL编写 - 这没关系。
哦:永远不要声明参数并返回带有实现类的类型,除非它确实很重要。使用Map
而不是HashMap
。