com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
来源:互联网 发布:林俊杰baby知乎 编辑:程序博客网 时间:2024/06/08 10:18
错误如下所示:
javax.xml.ws.soap.SOAPFaultException: Marshalling Error: 在对象图中检测到循环。这将产生无限深的 XML: org.entity.Dept@5e54a99b -> org.entity.Emp@72433225 -> org.entity.Dept@5e54a99b
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158)
at $Proxy44.getDepts(Unknown Source)
at org.service.IDeptServiceTest.test(IDeptServiceTest.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.apache.cxf.binding.soap.SoapFault: Marshalling Error: 在对象图中检测到循环。这将产生无限深的 XML: org.entity.Dept@5e54a99b -> org.entity.Emp@72433225 -> org.entity.Dept@5e54a99b
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:84)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:51)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:40)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:849)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1642)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1317)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
... 25 more
惊不惊喜,意不意外,当头一棒就给我报这个!!
今天在项目中做了一下web服务,采用的三大框架的hibernate+spring ,只是写个简单的案例,所以就没有使用struts2,然而写完之后报错。。。。
错误的意思也描述的很详细了,但是就是不知道从何解决起,千般苦万般难的终于找到了,我是写的查询dept表,但是dept表里面有个emps的集合,也就是查询dept的时候顺便把emp查询出来,菜刀自了这个错误!解决如下:
在实体类dept的
public Set<Emp> getEmps() {
return emps;
}
上面加一个@XmlTransient注解就OK了,正确的代码如下:
@XmlTransient
public Set<Emp> getEmps() {
return emps;
}
- [com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML:
- com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
- 解决CXF WebService使用Hibernate双向oneToMany引起的循环对象异常:com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XM
- 在对象图中检测到循环。这将产生无限深的 XML
- error - [com.sun.istack.SAXException2: unable to marshal type ".
- JOOMLA 无限循环中检测到
- 在maven的pom.xml中出现Missing:com.sun:tools:jar:1.5.0错误
- 解决JQUERY在IE下将字符串转成XML对象时产生的BUG
- 解决JQUERY在IE下将字符串转成XML对象时产生的BUG
- 将需要人为触发的事件放在定时器或者循环中,程序有可能产生Bug
- 如何将对象读写到 XML 中
- Linq查询中类型的转化以及序列化XXX对象时检测到循环引用
- MapReduce产生RCFile文件在HDFS,HIve将RCFile文件加载到hive的表中
- nextInt()方法在无限循环中,无法停止的问题
- 序列化类型的对象时检测到循环引用
- 在NIO中如何循环将Channel的数据写到Buffer中??
- 在NetBeans下将Java对象映射到XML文档
- vue将对象新增的属性添加到检测序列
- java MongoDB 字符串日期类型查询和日期类型查询
- iOS中的.pch文件
- iOS中info.plist文件的一些相关配置
- 【已解决】github中git push origin master出错:error: failed to push some refs to
- MsXml创建和解析XML示例
- com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
- Java还要再学一遍基础(八)Vector与ArrayList
- JavaWeb
- 搜索引擎solr和elasticsearch
- 前端入行标准
- 在Windows 10下搭建Ubuntu Linux+GCC开发平台
- 20170602Windows09_进程
- Postman用法简介
- linux定时备份mysql数据库,及解决crontab执行时生成数据库文件为空的问题