Java 从JAX_WS web服务返回对象集合
在我的web服务中,我希望根据客户机请求返回对象集合,例如(字符串集合、自定义类..), 我的代码:Java 从JAX_WS web服务返回对象集合,java,jax-ws,Java,Jax Ws,在我的web服务中,我希望根据客户机请求返回对象集合,例如(字符串集合、自定义类..), 我的代码: @XmlRootElement(name="ResultObject") public class ResultObject { private Object _Contents; // this object should contain the collection private int _ErrorCode; ..... } 但当尝试返回ArrayList或字符串数组时,会出现以下
@XmlRootElement(name="ResultObject")
public class ResultObject
{
private Object _Contents; // this object should contain the collection
private int _ErrorCode;
.....
}
但当尝试返回ArrayList或字符串数组时,会出现以下异常:
2012年12月30日下午5:49:21
com.sun.xml.ws.transport.http.servlet.WSServletDelegate doGet严重:
捕获到可丢弃的javax.xml.ws.webservice异常:
javax.xml.bind.MarshalException
-链接异常:[javax.xml.bind.JAXBException:class java.util.ArrayList,它的任何超类对此都是未知的
上下文。]
位于com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:322)
在com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:142)
位于com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:108)
在com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:265)上
位于com.sun.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:320)
com.sun.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:93)
位于com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:454)
位于com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
位于com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
位于com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
在com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)上
位于com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
在搜索解决方案后,一些帖子建议使用注释,但_Contents对象是动态集合,我无法修复它的内容
请提供建议,谢谢。目录成员需要一个注释,但我与此不太相似。也许这篇文章可以帮助您: