我是网络服务的新手。我正在编写一些简单的 Web 服务进行测试,我有以下问题。
这里的网站说 JAX-RPC 支持原始类型数组。但是当我写一个简单的网络服务
@WebService
@SOAPBinding(style=Style.RPC)
public interface AddNums {
@WebMethod
public int addNumbers(int[] nums);
}
并从 wsdl 生成客户端代码,我得到以下 WS 客户端界面。
@WebMethod
@WebResult(partName = "return")
public int addNumbers(
@WebParam(name = "arg0", partName = "arg0")
IntArray arg0);
它生成具有成员受保护列表的 IntArray 类
public class IntArray {
@XmlElement(nillable = true)
protected List<Integer> item;
这是支持数组的方式吗?那么,传递数组的唯一方法是创建一个IntArray实例并将List of Integers设置为它?
另外,当我将 Web 服务设为Document样式时
来自 WSDL 的 WS 客户端接口具有以下方法:
public int addNumbers(
@WebParam(name = "arg0", targetNamespace = "")
List<Integer> arg0);
原来服务中的int[ ]数组,变成了List<Integer>
这是否意味着 Web 服务中的 Array 类型总是在 wsdl 生成的客户端代码中转换为 List ?