datanucleus / datanucleus-core

DataNucleus core persistence support - the basis for anything in DataNucleus
123 stars 73 forks source link

Datanucleus XmlMetaDataEntityResolver - how do you disable XML entity resolving? #487

Closed minfrin closed 1 year ago

minfrin commented 1 year ago

By default, org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity attempts to resolve XML entities over the internet.

How do you switch XML entity resolving off?

09-May-2023 16:27:05.877 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.880 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.900 WARNING [main] org.datanucleus.metadata.xml.AbstractXmlMetaDataHandler.error MetaData Parser encountered an error in file "jar:file:/usr/share/xxx-1.4.0-SNAPSHOT/WEB-INF/lib/xxx-db-1.3.0-SNAPSHOT.jar!/META-INF/persistence.xml" at line 4, column 89 : cvc-elt.1.a: Cannot find the declaration of element 'persistence'. - Please check your specification of DTD/XSD and the validity of the MetaData XML header that you have specified.
09-May-2023 16:27:05.906 WARNING [main] org.datanucleus.metadata.xml.AbstractXmlMetaDataHandler.error MetaData Parser encountered an error in file "jar:file:/usr/share/roxanne-1.4.0-SNAPSHOT/WEB-INF/lib/roxanne-db-1.3.0-SNAPSHOT.jar!/META-INF/persistence.xml" at line 4, column 89 : cvc-elt.1.a: Cannot find the declaration of element 'persistence'. - Please check your specification of DTD/XSD and the validity of the MetaData XML header that you have specified.
09-May-2023 16:27:05.907 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.908 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.911 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.912 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.915 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.915 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.917 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.917 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.918 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.918 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.919 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.919 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found
09-May-2023 16:27:05.920 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity java.net.SocketException: Network is unreachable
09-May-2023 16:27:05.920 SEVERE [main] org.datanucleus.metadata.xml.XmlMetaDataEntityResolver.resolveEntity resolveEntity(, http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd) could not be found

Versions used:

[INFO] +- org.datanucleus:datanucleus-accessplatform-jpa-rdbms:pom:6.0.4:compile
[INFO] |  +- org.datanucleus:javax.persistence:jar:2.2.4:compile
[INFO] |  +- org.datanucleus:datanucleus-core:jar:6.0.4:compile
[INFO] |  +- org.datanucleus:datanucleus-api-jpa:jar:6.0.1:compile
[INFO] |  +- org.datanucleus:datanucleus-jpa-query:jar:6.0.0-release:compile
[INFO] |  \- org.datanucleus:datanucleus-rdbms:jar:6.0.4:compile
andyjefferson commented 1 year ago

If you put an XSD in an XML file as a URL then you get internet-based validation ... which you could easily have avoided by specifying a STANDARD persistence.xml location as per the docs. Or look at datanucleus.metadata.xml.validate

BUT then an ISSUE TRACKER is not the place to ask questions, it is for ISSUES. That is what Gitter / groups.io are for