Hello CXF Community,

I'm using the CXF DOSGi 1.2 multi-bundle distribution using Spring-DM and
configured to use JAXB (see osgi-context.xml below).  My model has a parent
object with a list of children which have a reference to the parent.  I was
aware that the circular reference would cause an issue with JAXB so I
applied the XmlTransient annotation as I have done in past projects, but
still received the following error.


I have tried the various fixes/workarounds described in these posts with
numerous permutations of XmlRootElement, XMLType, XMLTransient (on fields,
getters, setters), but the XMLTransient annotation appears to have no
impact.

http://cxf.547215.n5.nabble.com/CXF-doesn-t-respect-annotations-td563003.html
http://cxf.547215.n5.nabble.com/CXF-doesn-t-respect-annotations-td563003.html 

https://issues.apache.org/jira/browse/CXF-1121
https://issues.apache.org/jira/browse/CXF-1121 



Any help would be greatly appreciated.

Thanks,

Jason



### Exception Stack Trace
WARNING: Interceptor for
{http://service.domain.envoy.syntech.org/}IOrganizationServiceService#{http://service.domain.envoy.syntech.org/}getOrganization
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Marshalling Error: A cycle is detected in
the object graph. This will cause infinitely deep XML: Organization
[internalKey=1, id=001, description=Acme Oil, Inc.] ->
org.syntech.envoy.domain.model.Facility@111c3f0 -> Organization
[internalKey=1, id=001, description=Acme Oil, Inc.]
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:247)
        at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
        at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:111)
        at
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
        at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:78)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: javax.xml.bind.MarshalException
 - with linked exception:
[com.sun.istack.SAXException2: A cycle is detected in the object graph. This
will cause infinitely deep XML: Organization [internalKey=1, id=001,
description=Acme Oil, Inc.] ->
org.syntech.envoy.domain.model.Facility@111c3f0 -> Organization
[internalKey=1, id=001, description=Acme Oil, Inc.]]
        at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
        at
com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
        at
javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:532)
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:222)
        ... 21 more
Caused by: com.sun.istack.SAXException2: A cycle is detected in the object
graph. This will cause infinitely deep XML: Organization [internalKey=1,
id=001, description=Acme Oil, Inc.] ->
org.syntech.envoy.domain.model.Facility@111c3f0 -> Organization
[internalKey=1, id=001, description=Acme Oil, Inc.]
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:244)
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.pushObject(XMLSerializer.java:533)
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:627)
        at
com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:150)
        at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
        at
com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65)
        at
com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168)
        at
com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:152)
        at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
        at
com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:150)
        at
com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:322)
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
        at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:151)
        at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
        at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
        at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
        at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
        at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
        at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
        ... 25 more
### end Exception

### osgi-context.xml
...
        
                
                        
                        
                         
                         
                        
                
        
...
### end osgi-context.xml

### list of bundles included in osgi container
id      State       Bundle
0       ACTIVE      org.eclipse.osgi_3.6.2.R36x_v20110210
                    Fragments=7
1       ACTIVE      org.springframework.core_2.5.6
2       RESOLVED    org.eclipse.persistence.jpa.equinox_2.1.2.v20101206-r8635
                    Master=13
4       ACTIVE      org.syntech.core.persistence.derby_1.0.0.qualifier
5       ACTIVE      org.syntech.core.domain_1.0.0.qualifier
6       ACTIVE      org.springframework.aop_2.5.6
7       RESOLVED   
org.eclipse.persistence.jpa.equinox.weaving_2.1.2.v20101206-r8635
                    Master=0
8       ACTIVE      org.eclipse.persistence.asm_2.1.2.v20101206-r8635
9       ACTIVE      javax.persistence_2.0.1.v201006031150
10      ACTIVE      com.springsource.org.apache.commons.beanutils_1.8.0
11      ACTIVE      com.springsource.org.apache.commons.collections_3.2.1
12      ACTIVE      org.springframework.beans_2.5.6
13      ACTIVE      org.eclipse.persistence.jpa_2.1.2.v20101206-r8635
                    Fragments=2, 23
14      ACTIVE      org.springframework.context_2.5.6
15      ACTIVE      org.springframework.osgi.io_1.2.0
16      ACTIVE      org.syntech.core.domain.jpa_1.0.0.qualifier
17      ACTIVE      org.springframework.osgi.log4j.osgi_1.2.15.SNAPSHOT
                    Fragments=19
18      ACTIVE      org.springframework.osgi.extender_1.2.0
19      RESOLVED    org.syntech.core.config.log4j_1.0.0.qualifier
                    Master=17
20      ACTIVE      org.springframework.osgi.core_1.2.0
21      ACTIVE      com.springsource.org.aopalliance_1.0.0
22      ACTIVE      org.eclipse.persistence.core_2.1.2.v20101206-r8635
                    Fragments=26
23      RESOLVED    org.eclipse.persistence.jpa.osgi_2.1.2.v20101206-r8635
                    Master=13
25      ACTIVE      org.eclipse.osgi.services_3.2.100.v20100503
26      RESOLVED    org.eclipse.persistence.oracle_2.1.2.v20101206-r8635
                    Master=22
27      ACTIVE      com.springsource.org.apache.commons.logging_1.1.1
28      ACTIVE      org.eclipse.persistence.antlr_2.1.2.v20101206-r8635
29      ACTIVE      org.apache.servicemix.specs.jaxws-api-2.1_1.3.0
30      ACTIVE      cxf-dosgi-ri-topology-manager_1.2.0
31      ACTIVE      org.apache.servicemix.specs.saaj-api-1.3_1.3.0
32      ACTIVE      com.springsource.slf4j.api_1.5.10
                    Fragments=46
33      ACTIVE      org.apache.servicemix.bundles.xmlresolver_1.2.0.1
34      ACTIVE      org.apache.servicemix.bundles.xmlsec_1.3.0.1
35      ACTIVE      cxf-dosgi-ri-discovery-local_1.2.0
36      ACTIVE      org.apache.servicemix.bundles.jaxb-impl_2.1.6.1
37      ACTIVE      org.apache.servicemix.bundles.asm_2.2.3.1
38      ACTIVE      org.apache.servicemix.bundles.commons-pool_1.5.4.1
39      ACTIVE      org.apache.servicemix.bundles.woodstox_3.2.7.1
40      ACTIVE      org.apache.cxf.bundle-minimal_2.2.9
41      ACTIVE      org.apache.servicemix.bundles.xmlschema_1.4.3.1
42      ACTIVE      com.springsource.org.jdom_1.0.0
43      ACTIVE      org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.0.2
44      ACTIVE      org.ops4j.pax.web.service_0.5.1
45      ACTIVE      org.apache.servicemix.specs.jaxb-api-2.1_1.3.0
46      RESOLVED    com.springsource.slf4j.jcl_1.5.10
                    Master=32
47      ACTIVE      org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1
48      ACTIVE      org.apache.servicemix.specs.stax-api-1.0_1.3.0
49      ACTIVE      
org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec_1.1.2
50      ACTIVE      org.apache.geronimo.specs.geronimo-javamail_1.4_spec_1.2.0
51      ACTIVE      org.apache.servicemix.bundles.neethi_2.0.4.1
52      ACTIVE      org.apache.servicemix.bundles.wsdl4j_1.6.1.1
53      ACTIVE      org.apache.servicemix.specs.jsr311-api-1.0_1.3.0
54      ACTIVE      cxf-dosgi-ri-dsw-cxf_1.2.0
57      ACTIVE      org.syntech.envoy.domain_1.0.0.qualifier
58      ACTIVE      org.syntech.envoy.domain.jpa_1.0.0.qualifier
### end list of bundles



--
View this message in context: 
http://cxf.547215.n5.nabble.com/DOSGi-XmlTransient-Annotation-Ignored-tp3413949p3413949.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to