Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schema kann nicht als Resource geladen werden. #36

Open
Cakmakli-a opened this issue Jun 26, 2020 · 3 comments
Open

Schema kann nicht als Resource geladen werden. #36

Cakmakli-a opened this issue Jun 26, 2020 · 3 comments

Comments

@Cakmakli-a
Copy link

Cakmakli-a commented Jun 26, 2020

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. Warum ClassLoader.getSystemResource das Laden einer
Resource nicht bewerkstelligt bekommt, ist mir noch ein "Rätsel".

Setze ZUV 0.9.0 ein.

@jstaerk
Copy link
Contributor

jstaerk commented Jun 27, 2020

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.

@Cakmakli-a
Copy link
Author

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, ...

@jstaerk
Copy link
Contributor

jstaerk commented Jul 4, 2020

In dem Zusammenhang würde ich entweder einen Classloader empfehlen oder besser noch die Validierungsbibliothek im Mustang 2 snapshot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants