Hi,
given the size of the mapping file, it is almost impossible to get an
idea what's wrong. Can you please supply me with a full JUnit test case
that helps me to be able to replicate your problem ? That should include
the domain classes, a mapping file, the XML document instance and a
test case that calls the Unmarshaller to unmarshal from the sample XML
document.
Regards
Werner
ManuRom wrote:
hey thanks for the reply.
actually i was confused because when i divide the files which are bigger
than 3MB into size lesser than 3MB then all the parts individually works
fine. So this puts me to conclude it is something to deal with size. but
error says something different and error appears multiple times which says
error might be different.
yes i am using mapping.xml and also tried with latest release of 1.2. still
it gaves same error.please help me out. i have been breaking since last two
days.
here is the mapping file i wrote.
<?xml version="1.0" encoding="UTF-8"?>
<mapping xmlns:osgb='http://www.ordnancesurvey.co.uk/xml/namespaces/osgb'
xmlns:gml='http://www.opengis.net/gml'
xmlns:xlink='http://www.w3.org/1999/xlink'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' >
<class name="com.bt.infosys.domain.config.FeatureCollection">
<map-to xml="FeatureCollection"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="rectangle" type="java.lang.String">
<bind-xml name="gml:coordinates" node="element"
location="queryExtent/Rectangle"/>
</field>
<field name="nodes" type="com.bt.infosys.domain.config.Node"
collection="arraylist">
<bind-xml auto-naming="deriveByClass" node="element"
location="networkMember"/>
</field>
<field name="roadInfo" type="com.bt.infosys.domain.config.Information"
collection="arraylist">
<bind-xml auto-naming="deriveByClass" node="element"
location="roadInformationMember"/>
</field>
<field name="roads" type="com.bt.infosys.domain.config.Road"
collection="arraylist">
<bind-xml name="osgb:Road" node="element" location="roadMember"/>
</field>
<field name="links" type="com.bt.infosys.domain.config.Link"
collection="arraylist">
<bind-xml auto-naming="deriveByClass" node="element"
location="networkMember"/>
</field>
</class>
<class name="com.bt.infosys.domain.config.Common" >
<field name="id" type="java.lang.String">
<bind-xml name="fid" node="attribute" />
</field>
<field name="version" type="java.lang.String">
<bind-xml name="osgb:version" node="element" />
</field>
<field name="versionDate" type="java.lang.String">
<bind-xml name="osgb:versionDate" node="element" />
</field>
<field name="theme" type="java.lang.String">
<bind-xml name="osgb:theme" node="element" />
</field>
<field name="descGroup" type="java.lang.String">
<bind-xml name="osgb:descriptiveGroup" node="element" />
</field>
<field name="descTerm" type="java.lang.String">
<bind-xml name="osgb:descriptiveTerm" node="element" />
</field>
</class>
<class name="com.bt.infosys.domain.config.Node"
extends="com.bt.infosys.domain.config.Common">
<field name="point" type="java.lang.String">
<bind-xml name="gml:coordinates" node="element" location="point/Point"/>
</field>
</class>
<class name="com.bt.infosys.domain.config.RoadNode"
extends="com.bt.infosys.domain.config.Node">
<map-to xml="RoadNode"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="referenceToTopographic" type="java.lang.String">
<bind-xml name="xlink:href" node="attribute"
location="referenceToTopographicArea"/>
</field>
</class>
<class name="com.bt.infosys.domain.config.FerryNode"
extends="com.bt.infosys.domain.config.Node">
<map-to xml="FerryNode"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
</class>
<class name="com.bt.infosys.domain.config.Information"
extends="com.bt.infosys.domain.config.Common">
</class>
<class name="com.bt.infosys.domain.config.RoadRouteInformation"
extends="com.bt.infosys.domain.config.Information">
<map-to xml="RoadRouteInformation"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="instruction" type="java.lang.String">
<bind-xml name="osgb:instruction" node="element"
location="environmentQualifier"/>
</field>
<field name="classification" type="java.lang.String">
<bind-xml name="osgb:classification" node="element"
location="environmentQualifier"/>
</field>
<field name="dlink" type="com.bt.infosys.domain.config.DLink"
collection="arraylist">
<bind-xml name="osgb:directedLink" node="element" />
</field>
</class>
<class name="com.bt.infosys.domain.config.DLink" >
<map-to xml="directedLink"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="orientation" type="java.lang.String">
<bind-xml name="orientation" node="attribute" />
</field>
<field name="ref" type="java.lang.String">
<bind-xml name="xlink:href" node="attribute" />
</field>
</class>
<class name="com.bt.infosys.domain.config.RoadLinkInformation"
extends="com.bt.infosys.domain.config.Information">
<map-to xml="RoadLinkInformation"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="instruction" type="java.lang.String">
<bind-xml name="osgb:instruction" node="element"
location="environmentQualifier"/>
</field>
<field name="classification" type="java.lang.String">
<bind-xml name="osgb:classification" node="element"
location="environmentQualifier"/>
</field>
<field name="rlinkRef" type="java.lang.String">
<bind-xml name="xlink:href" node="attribute"
location="referenceToRoadLink"/>
</field>
<field name="distanceFromStart" type="java.lang.String">
<bind-xml name="osgb:distanceFromStart" node="element" />
</field>
<field name="point" type="java.lang.String">
<bind-xml name="gml:coordinates" node="element" location="point/Point"/>
</field>
</class>
<class name="com.bt.infosys.domain.config.Road"
extends="com.bt.infosys.domain.config.Common">
<map-to xml="Road"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="names" type="java.lang.String" collection="arraylist">
<bind-xml name="osgb:roadName" node="element" />
</field>
<field name="networkMember" type="java.lang.String" collection="arraylist">
<bind-xml name="xlink:href" node="attribute" location="networkMember"/>
</field>
<field name="box" type="java.lang.String">
<bind-xml name="gml:coordinates" node="element" location="boundedBy/Box"/>
</field>
</class>
<class name="com.bt.infosys.domain.config.Link"
extends="com.bt.infosys.domain.config.Common">
<field name="directedNodes" type="com.bt.infosys.domain.config.DNode"
collection="arraylist">
<bind-xml name="osgb:directedNode" node="element" />
</field>
</class>
<class name="com.bt.infosys.domain.config.FerryLink"
extends="com.bt.infosys.domain.config.Link">
<map-to xml="FerryLink"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
</class>
<class name="com.bt.infosys.domain.config.RoadLink"
extends="com.bt.infosys.domain.config.Link">
<map-to xml="RoadLink"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="natureOfRoad" type="java.lang.String">
<bind-xml name="osgb:natureOfRoad" node="element" />
</field>
<field name="length" type="java.lang.Double">
<bind-xml name="osgb:length" node="element" />
</field>
<field name="coordinates" type="java.lang.String">
<bind-xml name="gml:coordinates" node="element"
location="polyline/LineString"/>
</field>
<field name="referenceToTopographic" type="java.lang.String"
collection="arraylist">
<bind-xml name="xlink:href" node="attribute"
location="referenceToTopographicArea"/>
</field>
</class>
<class name="com.bt.infosys.domain.config.DNode" >
<map-to xml="directedNode"
ns-uri="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
ns-prefix="osgb"/>
<field name="orientation" type="java.lang.String">
<bind-xml name="orientation" node="attribute" />
</field>
<field name="gradeSeparation" type="java.lang.Integer">
<bind-xml name="gradeSeparation" node="attribute" />
</field>
<field name="ref" type="java.lang.String">
<bind-xml name="xlink:href" node="attribute" />
</field>
</class>
</mapping>
once again thanking you,
Manu
Werner Guttmann wrote:
No, this is definitely not an issue with the size of the document. I
have seen folks on the mailing lists telling us that they are using
Castor XML to (un)marshal documents close to the 1 GB boundary.
Given that you are seeing a StackOverflowError, I'd assume that your
mapping is ... well, a bit wronglish. In addition, have you had time to
try things against a a more recent version (1.1.2.1, or 1.2) ?
Okay, let's gather some facts:
a) You are using a mapping file, apparently ?
b) Would you happen to have an XML schema around for your document
structure.If so, one could use the code generator to create Java classes
and descriptor classes, and cross-check whether the problem still
persists.
Regards
Werner Guttmann
Castor, committer
ManuRom wrote:
Hi,
I am getting error while unmarshalling one xml of size > 3MB. im using
castor1.0.5-xml.jar. Error is as follows
Exception in thread "main" java.lang.StackOverflowError
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
at org.exolab.castor.xml.Namespaces.getNamespaceURI(Namespaces.java:206)
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
is it a problem with castor that it cant unmarshal a file greater than
3MB.
or is there some problem in the mapping file which i have written or some
problem in xml. if i break up the xml then it works fine.
if its a problem with castor, can any guys suggest a better tool which
can
do the same. my file size ranges from few KBs to 200MB. Please help me on
this? Any help is appreciated. thanking you in advance,
Regards,
Manu
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email