Web服务不返回泛型

时间:2012-06-21 15:04:33

标签: java generics jboss

       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);

1 个答案:

答案 0 :(得分:0)

Web服务由WSDL描述,因此仅限于WSDL可以描述的内容。 WSDL是跨语言,跨平台的,它根本不做泛型。它做数组,地图,原始类型。 WSDL背后的想法是服务可以用Java或COBOL编写 - 这没关系。

哦:永远不要声明参数并返回带有实现类的类型,除非它确实很重要。使用Map而不是HashMap