谢谢willem
public java.util.List<java.lang.Object> getUserLists();
改成
public java.util.List<User> getUserLists();
但如果我想List 里面存放的是两张关联的表的数据,不知道怎么写
比如
select a.*,b.* from a,b where
a.id=
b.id
通过spring jdbcTemplate回List (每张表没有对应的dao,)
public List getLists(String sql) {
return getJdbcTemplate().queryForList(sql);
}
On 2月18日, 上午8时51分, willem <
willem.ji...@gmail.com> wrote:
> 建议你把SEI (Service Endpoint Interface)好好改一下
>
> public java.util.List<java.lang.Object> getUserLists();
>
> public Map getUserMap();
>
> 这两个方法的返回参数都让JAXB 无从侍从。
> 要知道SEI 是帮你做Java Object 到 XML 以及 XML 到 Java Object 转换的基础。
>
> 如果是List的话,应该指定List中存放的数据类型。
> 如果是Map而且你是使用CXF的缺省data binding JAXB, 那你还需要写Adapter来完成。
> 如果你使用Agies binding 你可以直接使用Map [1]。
>
> [1]
http://cwiki.apache.org/CXF20DOC/aegis-databinding.html
>
> 姜宁 (Willem)
> ------------------
http://willem.bokeland.com/
>
> On 2月15日, 下午2时45分, 9527 <
missyo...@gmail.com> wrote:
>
>
>
> > org.apache.cxf.interceptor.Fault: Marshalling Error: class
> > org.mumu.user.model.User nor any of its super class is known to this
> > context.
> > at
> > org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:
> > 207)
> > at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:
> > 63)
> > at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(Abs-tractOutDatabindingInterceptor.java:
> > 84)
> > at
> > org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutIntercep-tor.java:
> > 68)
> > at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai-n.java:
> > 208)
> > at
> > org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingC-hainInterceptor.java:
> > 74)
> > at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai-n.java:
> > 208)
> > at
> > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO-bserver.java:
> > 77)
> > at
> > org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestin-ation.java:
> > 79)
> > at
> > org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle-tController.java:
> > 264)
> > at
> > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController-.java:
> > 123)
> > at
> > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServl-et.java:
> > 170)
> > at
> > org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServle-t.java:
> > 152)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio-nFilterChain.java:
> > 252)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC-hain.java:
> > 173)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j-ava:
> > 213)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j-ava:
> > 178)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
> > 126)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
> > 105)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav-a:
> > 107)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> > 148)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> > 869)
> > at org.apache.coyote.http11.Http11BaseProtocol
> > $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
> > 664)
> > at
> > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.ja-va:
> > 527)
> > at
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerW-orkerThread.java:
> > 80)
> > at org.apache.tomcat.util.threads.ThreadPool
> > $ControlRunnable.run(ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:619)
> > Caused by: javax.xml.bind.MarshalException
> > - with linked exception:
> > [javax.xml.bind.JAXBException: class org.mumu.user.model.User nor any
> > of its super class is known to this context.]
> > at
> > com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:
> > 295)
> > at
> > com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:
> > 221)
> > at
> > javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImp-l.java:
> > }- 隐藏被引用文字 -
>
> - 显示引用的文字 -