JavaWeb服务-列表与数组
我不熟悉web服务。我正在编写一些用于测试的简单web服务,我有以下问题 该网站称JAX-RPC支持原语类型的数组。但是当我编写一个简单的web服务时JavaWeb服务-列表与数组,java,web-services,jax-rpc,Java,Web Services,Jax Rpc,我不熟悉web服务。我正在编写一些用于测试的简单web服务,我有以下问题 该网站称JAX-RPC支持原语类型的数组。但是当我编写一个简单的web服务时 @WebService @SOAPBinding(style=Style.RPC) public interface AddNums { @WebMethod public int addNumbers(int[] nums); } 并从wsdl生成客户机代码,我得到以下WS-client接口 @WebMethod @WebR
@WebService
@SOAPBinding(style=Style.RPC)
public interface AddNums {
@WebMethod
public int addNumbers(int[] nums);
}
并从wsdl生成客户机代码,我得到以下WS-client接口
@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;
阵列中的公共类{
@XmlElement(nillable=true)
受保护的清单项目;
这就是数组的支持方式吗?因此,传递数组的唯一方法是创建IntArray的实例,并将整数的列表设置为它
当我将Web服务设置为文档样式时也是如此
来自WSDL的WS-client接口具有以下方法:
public int addNumbers(
@WebParam(name = "arg0", targetNamespace = "")
List<Integer> arg0);
public int addnumber(
@WebParam(name=“arg0”,targetNamespace=”“)
列表arg0);
原始服务中的int[]数组变为List这是否意味着web服务中的数组类型总是转换为wsdl生成的客户端代码中的列表?JAX-WS使用JAXB进行绑定。
的默认映射是列表
。但是您可以使用@XmlJavaTypeAdapter
注释来提供XML内容的映射
您可以在中看到有关JAXB的更多信息
另一方面,您可以尝试返回一个数组。请查看问题的答案。但是,您可能应该考虑:看这个问题:。非常感谢您的回答。您可以回答我的另一个与JAX-RPC相关的问题吗。文档中说JAX-RPC支持数组,不支持集合。但是在JAX-RPC的情况下,它不支持集合int数组成为带有成员变量列表的类“IntArray”。