1

WS 做一个网络服务。作为参数,我接受两个字符串和一个对象数组,其类型是我项目中的一个类。

我创建了 webservice 接口和实现,它类似于:

@WebMethod(operationName = "getStuff")
@WebResult(name = "result")
 Mix getStuff(
    @WebParam(name = "string1") String one,
    @WebParam(name = "string2") String two,
    @WebParam(name = "stuff") Stuff[] stuff
);

我正在返回一个 Mix 类型的对象,它是我项目中的一个类,我正在接受一个 Stuff 类型的数组,它是我项目中的另一个类。从 java 进行测试不是问题,但是当其他人尝试使用该服务或我尝试使用soapUI 发送请求时,该数组始终为空。我需要做什么才能使正在使用我的服务的任何人都可以正确发送 Stuff 类型的数组?我需要对 JAXB 进行一些自定义吗?

4

1 回答 1

-1

JAXB2 使用列表而不是数组,因此您应该将签名替换为

@WebMethod(operationName = "getStuff")
@WebResult(name = "result")
 Mix getStuff(
    @WebParam(name = "string1") String one,
    @WebParam(name = "string2") String two,
    @WebParam(name = "stuff") java.util.List<Stuff> stuff
);

此外,请确保MixStuff具有 JAXB 注释。

于 2009-11-02T15:53:06.397 回答