|
|
|
SIgh. Even when not validating, the SAXParser insists on opening the dtd file, and there
appears to be no way of letting the parser know where the dtd file lives. So for the moment, no dtd reference is possible The bookmarks channel may have some code that will help you with the dtd:
// Turn validation on for the DOM parser to make sure it reads the DTD // Parse the XML document containing the user's bookmarks Hey George,
Here's an example patch that fixes uPortal so it will use the services.dtd when parsing the services.xml file. I've tested this and it works. thanks, Index: ExternalServices.java /**
OK. The DOCTYPE is back in and ResourceLoader now uses DTDResolver to find the dtd.
Not yet validating. Not sure what to do about validating.
When I enable validation I got a complaint about PersonDirs.xml not having a DOCTYPE, so I Any ideas? I figured out how to find the dtd file if the tomcat context s not available
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
org.jasig.portal.ResourceMissingException: java.io.FileNotFoundException: /home/jjohnson/jakarta-tomcat-5.0.28_1/channelPublishing.dtd (No such file or directory)
at org.jasig.portal.ChannelRegistryManager.getCPD(ChannelRegistryManager.java:657)
at org.jasig.portal.channels.CChannelManager$CPDWorkflowSection.<init>(CChannelManager.java:861)
at org.jasig.portal.channels.CChannelManager$Workflow.addChannelParamsSection(CChannelManager.java:807)
at org.jasig.portal.channels.CChannelManager$Workflow.toXML(CChannelManager.java:777)
at org.jasig.portal.channels.CChannelManager.doAction(CChannelManager.java:401)
at org.jasig.portal.channels.CChannelManager.setRuntimeData(CChannelManager.java:117)
at org.jasig.portal.ChannelRenderer$Worker.execute(ChannelRenderer.java:459)
at org.jasig.portal.utils.threading.BaseTask.run(BaseTask.java:27)
at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:166)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.FileNotFoundException: /home/jjohnson/jakarta-tomcat-5.0.28_1/channelPublishing.dtd (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
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.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at org.jasig.portal.utils.ResourceLoader.getResourceAsDocument(ResourceLoader.java:182)
at org.jasig.portal.ChannelRegistryManager.getCPD(ChannelRegistryManager.java:655)
... 12 more