Hi,

On Mon, 2005-11-14 at 09:15 +0100, Werner Guttmann wrote:
> Hi,
> 
> Looking at the stack trace, I am quite puzzled. Given what you have
> provided so far, it is very hard for me to tell whether Castor is/is not
> including the roles property as part of the marshalling. All I know is
> that at your front-end, something is trying to obtain a handle to role
> entities through Hibernate, and when doing so, throws an exception that
> it fails to do so (as apparently the collection (defined as lazy-loaded)
> cannot be initialited successfully).
> 
> Can you show us what the output Castor's Marshaller generated looks like
> ?

Thank you for your time & efforts to research this problem. I landed up
attaching an empty HashSet() to the roles as

clientDcl.setRoles( new HashSet() );

That got rid of the exception.

And, you are right about the fact that something (hibernate) was trying
to get to the ClientDcl object and it's roles member variable way before
even Castor got a chance at it!

Thanks,
Sandeep Khanna

>  
> 
> Werner
> 
> > -----Original Message-----
> > From: Ralf Joachim [mailto:[EMAIL PROTECTED] 
> > Sent: Samstag, 12. November 2005 12:45
> > To: [email protected]
> > Subject: Re: [castor-user] Unable to prevent Castor from 
> > accessing Object field using transient="true"
> > 
> > Hi Sandeep,
> > 
> > have you tried to remove the mapping for rules.
> > 
> > Regards
> > Ralf
> > 
> > 
> > Sandeep Khanna schrieb:
> > 
> > >Hi All,
> > >
> > >I have created a Castor mapping file for marshalling (creating XML 
> > >text) for an Object called ClientDcl.
> > >
> > >ClientDcl has a field '_roles' of type Set. Through debugging I have 
> > >found that trying to expand the _roles node in Eclipse debugger 
> > >variabled view gives me a Hibernate exception. So very 
> > obviously even 
> > >Castor gets that when it tries to walk down the ClientDcl object and 
> > >it's field _roles.
> > >
> > >To prevent the above and letting Castor marshall the object 
> > to XML, I 
> > >tried to set the _roles field as 'transient' as following:
> > >/************************ castor-mapping.xml 
> > *************************/
> > >     <class name="com.adminserver.dcl.ClientDcl" 
> > identity="_clientGuid"
> > >access="shared"
> > >          auto-complete="true">
> > >          <field name="roles" type="com.adminserver.dcl.RoleDcl"
> > >get-method="getRoles"
> > >               set-method="setRoles" collection="set" 
> > transient="true">
> > >               <bind-xml name="Roles" node="element"/>
> > >          </field>
> > ></class>
> > >/************************************************************
> > *********/
> > >
> > >But, when I try to marshall the ClientDcl using the 
> > following code, I 
> > >still get the Hibernate exception and no marshalled XML!!
> > >
> > >/********************* Code to Marshal to XML 
> > >*************************/ Marshaller marshaller = new 
> > Marshaller( new PrintWriter( System.out) );
> > >            Mapping castorMapping = new Mapping();
> > >            InputSource inputSource = new InputSource( 
> > >getClass().getResourceAsStream( "/castor-mapping.xml" ) );
> > >            if( null != inputSource ){
> > >               castorMapping.loadMapping( inputSource );
> > >               marshaller.setMapping( castorMapping );
> > >               Marshaller.marshal( result, new PrintWriter( 
> > System.out) 
> > >);
> > >            }
> > >/************************************************************
> > **********
> > >/
> > >
> > >/*************************** Exception 
> > >********************************/
> > >13:01:12,607 ERROR [LazyInitializationException] failed to lazily 
> > >initialize a collection (com.adminserver.dcl.ClientDcl.roles) - no 
> > >session or session was closed
> > >org.hibernate.LazyInitializationException: failed to lazily 
> > initialize 
> > >a collection (com.adminserver.dcl.ClientDcl.roles) - no session or 
> > >session was closed at
> > >org.hibernate.collection.AbstractPersistentCollection.initial
> > ize(AbstractPersistentCollection.java:180)
> > >   at
> > >org.hibernate.collection.AbstractPersistentCollection.read(Ab
> > stractPersistentCollection.java:48)
> > >   at
> > >org.hibernate.collection.PersistentSet.toString(PersistentSet
> > .java:222)
> > >   at
> > >com.adminserver.uip.ClientSearchActionUip.execute(ClientSearc
> > hActionUip.java:102)
> > >   at
> > >org.apache.struts.action.RequestProcessor.processActionPerfor
> > m(RequestProcessor.java:421)
> > >   at
> > >org.apache.struts.action.RequestProcessor.process(RequestProc
> > essor.java:226)
> > >   at
> > >org.apache.struts.action.ActionServlet.process(ActionServlet.
> > java:1164)
> > >   at 
> > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
> > >   at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> > >   at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > >   at
> > >org.apache.catalina.core.ApplicationFilterChain.internalDoFil
> > ter(ApplicationFilterChain.java:237)
> > >   at
> > >org.apache.catalina.core.ApplicationFilterChain.doFilter(Appl
> > icationFilterChain.java:157)
> > >   at
> > >org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Reply
> > HeaderFilter.java:75)
> > >   at
> > >org.apache.catalina.core.ApplicationFilterChain.internalDoFil
> > ter(ApplicationFilterChain.java:186)
> > >   at
> > >org.apache.catalina.core.ApplicationFilterChain.doFilter(Appl
> > icationFilterChain.java:157)
> > >   at
> > >org.apache.catalina.core.StandardWrapperValve.invoke(Standard
> > WrapperValve.java:214)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:104)
> > >   at
> > >org.apache.catalina.core.StandardPipeline.invoke(StandardPipe
> > line.java:520)
> > >   at
> > >org.apache.catalina.core.StandardContextValve.invokeInternal(
> > StandardContextValve.java:198)
> > >   at
> > >org.apache.catalina.core.StandardContextValve.invoke(Standard
> > ContextValve.java:152)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:104)
> > >   at
> > >org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(Cus
> > tomPrincipalValve.java:66)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:102)
> > >   at
> > >org.jboss.web.tomcat.security.SecurityAssociationValve.invoke
> > (SecurityAssociationValve.java:150)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:102)
> > >   at
> > >org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCon
> > textValve.java:54)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:102)
> > >   at
> > >org.apache.catalina.core.StandardPipeline.invoke(StandardPipe
> > line.java:520)
> > >   at
> > >org.apache.catalina.core.StandardHostValve.invoke(StandardHos
> > tValve.java:137)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:104)
> > >   at
> > >org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepor
> > tValve.java:118)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:102)
> > >   at
> > >org.apache.catalina.core.StandardPipeline.invoke(StandardPipe
> > line.java:520)
> > >   at
> > >org.apache.catalina.core.StandardEngineValve.invoke(StandardE
> > ngineValve.java:109)
> > >   at
> > >org.apache.catalina.core.StandardValveContext.invokeNext(Stan
> > dardValveContext.java:104)
> > >   at
> > >org.apache.catalina.core.StandardPipeline.invoke(StandardPipe
> > line.java:520)
> > >   at
> > >org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> > >   at
> > >org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter
> > .java:160)
> > >   at
> > >org.apache.coyote.http11.Http11Processor.process(Http11Proces
> > sor.java:799)
> > >   at org.apache.coyote.http11.Http11Protocol
> > >$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
> > >   at
> > >org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpo
> > int.java:577)
> > >   at org.apache.tomcat.util.threads.ThreadPool
> > >$ControlRunnable.run(ThreadPool.java:683)
> > >   at java.lang.Thread.run(Thread.java:534)
> > >/************************************************************
> > *********/
> > >
> > >Any idea what's going wrong?
> > >
> > >Thanks in advance,
> > >Sandeep Khanna
> > >
> > >
> > >
> > >-------------------------------------------------
> > >If you wish to unsubscribe from this list, please send an 
> > empty message 
> > >to the following address:
> > >
> > >[EMAIL PROTECTED]
> > >-------------------------------------------------
> > >  
> > >
> > 
> > -------------------------------------------------
> > If you wish to unsubscribe from this list, please send an 
> > empty message to the following address:
> > 
> > [EMAIL PROTECTED]
> > -------------------------------------------------
> > 
> > 
> > 
> 
> -------------------------------------------------
> If you wish to unsubscribe from this list, please 
> send an empty message to the following address:
> 
> [EMAIL PROTECTED]
> -------------------------------------------------
> 


-------------------------------------------------
If you wish to unsubscribe from this list, please 
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to