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.initialize(AbstractPersistentCollection.java:180)
        at
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:48)
        at
org.hibernate.collection.PersistentSet.toString(PersistentSet.java:222)
        at
com.adminserver.uip.ClientSearchActionUip.execute(ClientSearchActionUip.java:102)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.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.internalDoFilter(ApplicationFilterChain.java:237)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:150)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:54)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.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(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.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]
-------------------------------------------------

Reply via email to