Hi,

I am facing issue while trying to resolve DTD relative path.
The issue started while trying to migrate EJB 2.0 from Weblogic 8.1 to Weblogic 
10.3.

The issue goes below:-

The weblogic domain path is getting appended by default to the DTD.
The DOCTYPE declaration goes below:-

<!DOCTYPE ScriptProperties SYSTEM "ScriptProperties.dtd">

Now the above DTD is located at location F:\anshu\dtd\
The weblogic  domain path is F:\anshu_domain\

Now while using entity resolver the above dtd is getting resolved as below:-

F:\anshu\dtd\file:\ F:\anshu_domain\ ScriptProperties.dtd

Please find the below code for the same:-


SAXBuilder builder = new SAXBuilder();
builder.setEntityResolver(new EntityResolver() {public InputSource 
resolveEntity(String publicId, String systemId) throws SAXException, 
IOException {
                                    // locate the DTD ...
                    return new InputSource("file:///" +
                                            
System.getProperty("anshu.dtd.properties") + File.separatorChar + systemId);}
                  });

Here the anshu.dtd.properties has been set as F:\anshu\dtd.


I am getting the error while building DOM object as the path resolve is 
incorrect.
The same code is working on Weblogic 8.1 but is not working on Weblogic 10.3.



PFB the stacktrace below:-


org.jdom.JDOMException: Error in building: F:\anshu\dtd 
\file:\D:\anshu_domin\ScriptProperties.dtd (The filename, directory name, or 
volume label syntax is incorrect);       at 
org.jdom.input.SAXBuilder.build(SAXBuilder.java:373);            at 
org.jdom.input.SAXBuilder.build(SAXBuilder.java:673); at 
com.bt.emw.Versata.XmlDataFile.<init>(Unknown Source);  at 
com.bt.emw.Versata.BaseData.read(Unknown Source);              at 
com.bt.emw.Versata.VomStartup.startup(Unknown Source);               at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeStartup(ClassDeploymentManager.java:278);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClass(ClassDeploymentManager.java:256);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.access$000(ClassDeploymentManager.java:54);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager$1.run(ClassDeploymentManager.java:205);
                at 
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321);
   at weblogic.security.service.SecurityManager.runAs(Unknown Source);    at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClassDeployment(ClassDeploymentManager.java:198);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.runStartupsBeforeAppDeployments(ClassDeploymentManager.java:145);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentService.start(ClassDeploymentService.java:20);
          at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64);   
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201);           at 
weblogic.work.ExecuteThread.run(ExecuteThread.java:173);Caused by: 
java.io.FileNotFoundException: 
F:\STAA\anshu\StaaInfrastructure\staa\2.4.25.0\properties\file:\D:\STAA-DOMAIN\staa_domain\ConfigData.dtd
 (The filename, directory name, or volume label syntax is incorrect);   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 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653);
               at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315);
              at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282);
      at 
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283);
               at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1176);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1075);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:993);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647);
           at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508);
                at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807);
          at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737);
               at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107); 
     at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205);
    at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522);
           at 
weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:133);          
      at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:172); 
      at org.jdom.input.SAXBuilder.build(SAXBuilder.java:354); ... 16 
more;java.io.FileNotFoundException: F:\anshu\dtd 
\file:\D:\anshu_domin\ScriptProperties.dtd
(The filename, directory name, or volume label syntax is incorrect);        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 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653);
               at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315);
              at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282);
      at 
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283);
               at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1176);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1075);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:993);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647);
           at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140);
                at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508);
                at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807);
          at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737);
               at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107); 
     at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205);
    at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522);
           at 
weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:133);          
      at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:172); 
      at org.jdom.input.SAXBuilder.build(SAXBuilder.java:354); at 
org.jdom.input.SAXBuilder.build(SAXBuilder.java:673);            at 
com.bt.emw.Versata.XmlDataFile.<init>(Unknown Source);       at 
com.bt.emw.Versata.BaseData.read(Unknown Source);                at 
com.bt.emw.Versata.VomStartup.startup(Unknown Source);              at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeStartup(ClassDeploymentManager.java:278);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClass(ClassDeploymentManager.java:256);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.access$000(ClassDeploymentManager.java:54);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager$1.run(ClassDeploymentManager.java:205);
                at 
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321);
   at weblogic.security.service.SecurityManager.runAs(Unknown Source);    at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClassDeployment(ClassDeploymentManager.java:198);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentManager.runStartupsBeforeAppDeployments(ClassDeploymentManager.java:145);
                at 
weblogic.management.deploy.classdeployment.ClassDeploymentService.start(ClassDeploymentService.java:20);
          at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64);   
at weblogic.work.ExecuteThread.execute


============================================================================================================================Disclaimer:
  This message and the information contained herein is proprietary and 
confidential and subject to the Tech Mahindra policy statement, you may review 
the policy at <a 
href="http://www.techmahindra.com/Disclaimer.html";>http://www.techmahindra.com/Disclaimer.html</a>
 externally and <a 
href="http://tim.techmahindra.com/Disclaimer.html";>http://tim.techmahindra.com/Disclaimer.html</a>
 internally within Tech 
Mahindra.============================================================================================================================

Reply via email to