Open Cakmakli-a opened 4 years ago
komisch bei mir meldet mvn package
keine Fehler.
ZUV wird Teil von Mustangproject ggf bitte mal die alphaversion von Mustang clonen und bauen. Das geht dann ungefähr mit java -jar Mustang-CLI-...jar --action validate --source xyz
und validiert unter anderem auch auf Xrechnungs-Attribute.
Die "ZUV-0.9.0.jar" habe ich heruntergeladen und in mein Maven-Projekt eingebunden. (pom.xml)
Vorher habe ich Jar-Datei ich in mein (lokales) Maven-Repo installiert.
mvn install:install-file -Dfile="Pfad zur Jar-Datei" -DgroupId=org.zugferd -DartifactId=ZUV -Dversion=0.9.0 -Dpackaging=jar
Auf die API greife ich direkt zu. Der Grund: programmatisch das Ergebnis der Validierung zu
verabeiten statt auf eine XML zu "warten", die am Ende von
java -jar ZUV-0.9.0.jar --action validate -f <filename of ZUGFeRD PDF.pdf>
rauskommt.
Der direkte Zugriff ermöglicht z.B. im Fehlerfall besser einzugreifen und direkt das Ergebnis der Validierung
zu verarbeiten statt auf die Erzeugung einer XML zu warten, diese einzulesen, ...
In dem Zusammenhang würde ich entweder einen Classloader empfehlen oder besser noch die Validierungsbibliothek im Mustang 2 snapshot
In der Klasse "Validator" wird in der Methode versucht das Schema zu laden:
protected void validateSchema(byte[] xmlRawData, String schemaPath, int section, EPart part) throws IrrecoverableValidationError { URL schemaFile = ClassLoader.getSystemResource("schema/" + schemaPath);
Was allerdings fehlschlägt und es kommt zu einer NullPointerException. Beim Debuggen kann man zwar feststellen, dass der Pfad zur Datei richtig ist, aber geladen wird die Resource doch nicht.Festgestellt habe ich eher, dass mit der Anweisung wie
final InputStream is = getClass().getResourceAsStream(resourceFile);
ich Resourcen geladen bekomme. WarumClassLoader.getSystemResource
das Laden einer Resource nicht bewerkstelligt bekommt, ist mir noch ein "Rätsel".Setze ZUV 0.9.0 ein.