Sandeep, With 1.0.5, things shoudl work, especially when teh default castor.properties file has the corresponding property defined (though commented out). With regards to the custom (=user) castor.properties file, I am not actually sure. Without going to the sources and proff-reading, as long as you have it on the classpath (in root), it will be used.
Werner > -----Original Message----- > From: Sandeep [mailto:[EMAIL PROTECTED] > Sent: Donnerstag, 11. Jänner 2007 14:04 > To: [email protected] > Subject: Re: [castor-user] Can Castor ignore external dtd reference > > 1.0.5 > I have this jar castor-1.0.5-xml.jar. > > And my castor.properties file inside that jar also have the > flag you mentioned. > What I am doing is extract the properties file and kept it in my pwd. > > I hope castor looks for the props file first in pwd than the jar. > > ~Sandeep > > On 1/11/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > > Just to make sure: what version of Castor are you using ? > > > > Werner > > > > > -----Original Message----- > > > From: Sandeep [mailto:[EMAIL PROTECTED] > > > Sent: Donnerstag, 11. Jänner 2007 13:44 > > > To: [email protected] > > > Subject: Re: [castor-user] Can Castor ignore external dtd > reference > > > > > > Hi Stephen, Werner > > > > > > Thanks for your help. Looks like things are moving though with > > > hiccups! > > > > > > Here is my code, which I use to unmarshall the xml from > the server: > > > > > > String xml = server.get(OBJECT_ID); > > > .... > > > Mapping mapping = new Mapping(); > > > mapping.loadMapping("event-mapping.xml"); > > > Unmarshaller um1 = new Unmarshaller(); um1.setMapping(mapping); > > > > > > //code suggested by Stephen > > > SAXParserFactory factory = SAXParserFactory.newInstance(); > > > factory.setValidating( false ); XMLReader xmlReader = > > > factory.newSAXParser().getXMLReader(); > > > xmlReader.setFeature("http://apache.org/xml/features/nonvalida > > > ting/load-external-dtd", > > > false ); > > > UnmarshalHandler handler = um1.createHandler(); > > > xmlReader.setContentHandler( handler ); > xmlReader.setErrorHandler( > > > handler ); xmlReader.parse( new InputSource(new > StringReader(xml))); > > > > > > events = (MyEvents)um1.unmarshal(new StringReader(xml)); ...... > > > > > > My castor.properties file(relevant ones): > > > org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser > > > org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml > > > .XercesXMLSerializerFactory > > > org.exolab.castor.parser.validation=false > > > org.exolab.castor.parser.namespaces=false > > > org.exolab.castor.marshalling.validation=false > > > org.exolab.castor.sax.features-to-disable=http://apache.org/xm > > > l/features/nonvalidating/load-external-dtd > > > > > > In both the cases, I am getting the same error. The error > is during > > > unmarshalling. Although the parse method returns > successfully after > > > setting the load-external-dtd to false. > > > Am I missing something? > > > > > > http://10.72.181.103:8088/comp_server.dtd > > > at > > > > org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:727) > > > at > > > > org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:588) > > > at Performance.getEventsUsingXSD(Performance.java:134) > > > at Performance.main(Performance.java:56) > > > Caused by: java.io.FileNotFoundException: > > > http://10.72.181.103:8088/comp_server.dtd > > > at > > > sun.net.www.protocol.http.HttpURLConnection.getInputStream(Htt > > > pURLConnection.java:1131) > > > at > > > org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown > > > Source) > > > at > > > > org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) > > > at > > > org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.di > > > spatch(Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocu > > > ment(Unknown > > > Source) > > > at > > > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > > > at > > > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > > > at > org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > > > at > > > org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) > > > at > > > > org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:718) > > > ... 3 more > > > Caused by: java.io.FileNotFoundException: > > > http://10.72.181.103:8088/comp_server.dtd > > > at > > > sun.net.www.protocol.http.HttpURLConnection.getInputStream(Htt > > > pURLConnection.java:1131) > > > at > > > org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown > > > Source) > > > at > > > > org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) > > > at > > > org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.di > > > spatch(Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocu > > > ment(Unknown > > > Source) > > > at > > > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > > > at > > > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > > > at > org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > > > at > > > org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) > > > at > > > > org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:718) > > > at > > > > org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:588) > > > at Performance.getEventsUsingXSD(Performance.java:134) > > > at Performance.main(Performance.java:56) > > > > > > ~Sandeep > > > > > > > > > On 1/11/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > > > > Could as well be .. ;-). If you still insist on knowing the > > > truth and > > > > nothing but the truth, src/doc/release-notes.xml is your > > > friend .. ;-). > > > > > > > > Werner > > > > > > > > Stephen Bash wrote: > > > > > Werner- > > > > > > > > > > Did I ever actually file a bug against this case? I know > > > I thought > > > > > about it, but wasn't sure how far it went... If not, > it seems > > > > > someone else complained huh? ;) > > > > > > > > > > Stephen > > > > > > > > > > > > > > > On 1/10/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > > > > >> Stephen and Sandeep, > > > > >> > > > > >> a few weeks ago (please check the release notes for > > > details), a new > > > > >> property has been added to the castor.propeties file > to turn a > > > > >> JAXP/SAX feature off. > > > > >> > > > > >> org.exolab.castor.sax.features-to-disable > > > > >> > > > > >> This might ease your job, I assume .. ;-) > > > > >> > > > > >> Werner > > > > >> > > > > >> Stephen Bash wrote: > > > > >> > Sandeep- > > > > >> > > > > > >> > This echoes back to a problem quite a few months > > > (possibly a year > > > > >> > or > > > > >> > two) ago. If you are using the Xerces parser, there > > > is a way to > > > > >> > tell it to ignore that DOCTYPE. As I remember though, > > > you have > > > > >> > to create the parser yourself, configure it correctly and > > > > >> > then have Castor use that parser rather than allowing > > > Castor to create > > > > >> > a parser. The problem stems from Castor only being > > > able to turn > > > > >> > ON parser features, and in this case you actually need > > > to turn OFF a feature. > > > > >> > > > > > >> > For more info, see this old post: > > > > >> > > > > > >> > > > > http://www.mail-archive.com/[email protected]/msg02609.htm > > > > >> > l > > > > >> > > > > > >> > Stephen > > > > >> > > > > > >> > > > > > >> > On 1/10/07, Sandeep <[EMAIL PROTECTED]> wrote: > > > > >> >> Hi > > > > >> >> > > > > >> >> I am working on a project to apply data binding to a > > > legacy xml > > > > >> >> client-server application. > > > > >> >> > > > > >> >> For every xml that my server returns, it has the > following > > > > >> >> header > > > > >> part: > > > > >> >> > > > > >> >> <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE comp > > > > >> >> SYSTEM 'http://10.72.181.103:8088/comp_server.dtd'> > > > > >> >> <comp> > > > > >> >> ..... > > > > >> >> </comp> > > > > >> >> > > > > >> >> The dtd file comp_server.dtd is non-existent. It > was there > > > > >> >> as part of some kind of server's internal logic. > > > > >> >> > > > > >> >> Now, my castor is failing saying unable to locate > > > > >> >> comp_server.dtd which is obvious. > > > > >> >> > > > > >> >> My question is, how can I make castor to ignore that > > > DOCTYPE element. > > > > >> >> > > > > >> >> Currently, I am doing a crude way of String.substring and > > > > >> >> passing only <comp> ... > > > > >> >> </comp> > > > > >> >> to castor. But this is a hack!! > > > > >> >> > > > > >> >> ~Sandeep > > > > >> >> > > > > >> >> > > > ---------------------------------------------------------------- > > > > >> >> ----- 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 > > > > >> > > > > > >> > > > > >> > > > > >> > > > > ------------------------------------------------------------------- > > > > >> -- 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 > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > > > - > > > > 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 > > > > > > > > --------------------------------------------------------------------- > > 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 > --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

