[ https://issues.apache.org/jira/browse/FOR-1079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12592294#action_12592294 ]
Thorsten Scherler commented on FOR-1079: ---------------------------------------- I did ngrep forrest ngrep dtd as su but that did only return #. However the exception: ... java.net.UnknownHostException: forrest.apache.org at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177) Meaning we actually want to connect to forrest.apache.org. ... at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:938) at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) That is interesting! The method reads (sniped to the interesting parts): /** * This method uses the passed-in XMLInputSource to make * fCurrentEntity usable for reading. * @param name name of the entity (XML is it's the document entity) * @param xmlInputSource the input source, with sufficient information * to begin scanning characters. * @param literal True if this entity is started within a * literal value. * @param isExternal whether this entity should be treated as an internal or external entity. * @throws IOException if anything can't be read * XNIException If any parser-specific goes wrong. * @return the encoding of the new entity or null if a character stream was employed */ public String setupCurrentEntity(String name, XMLInputSource xmlInputSource, boolean literal, boolean isExternal) throws IOException, XNIException { // get information ... // create reader InputStream stream = null; Reader reader = xmlInputSource.getCharacterStream(); // First chance checking strict URI String expandedSystemId = expandSystemId(literalSystemId, baseSystemId, fStrictURI); if (baseSystemId == null) { baseSystemId = expandedSystemId; } if (reader == null) { stream = xmlInputSource.getByteStream(); if (stream == null) { URL location = new URL(expandedSystemId); URLConnection connect = location.openConnection(); if (!(connect instanceof HttpURLConnection)) { // NOTE thorsten: // The following line will produce the error stream = connect.getInputStream(); } else { ... The above code seems to be responsible to produce the exception. at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) seems that it is related to the DTD entities. ... at org.apache.tools.ant.taskdefs.optional.XMLValidateTask.doValidate(XMLValidateTask.java:539) and it related to the validate task. That is why setting forrest.validate=false is an ugly but working workaround. > validate-xdocs fails if no DNS server is configured on the underlying OS > ------------------------------------------------------------------------ > > Key: FOR-1079 > URL: https://issues.apache.org/jira/browse/FOR-1079 > Project: Forrest > Issue Type: Bug > Components: XML grammars & validation > Affects Versions: 0.9-dev > Reporter: Thorsten Scherler > Attachments: 1079.exception.txt > > > If you remove the DNS server entries from your OS forrest cannot validate > anymore. > sudo vi /etc/resolv.conf > -> comment all DNS > try "forrest" as usual on your project, it will fail like: > ... > forrest/trunk/main/targets/validate.xml:136: Could not validate document > /home/thorsten/src/sadesi/boja2/trunk/exporter/src/documentation/content/xdocs/index.xml -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.