Hier eine Infos für alle, die daran denken, eine signierte Rechnung mit MOA-SP zu prüfen:
(Der Originaltext wurde an die moa-developermailinglist gepostet):
Beim Signaturprüfen mit MOA-SP einer signierten Rechnung nach ebInvoice-Standard (http://www.ebinterface.at/) tritt folgendes Phänomen auf:
Das signierte Dokument http://test.baumann.at/ebInterface_MO…e_CB_signed.xml wird an MOA-SP (1.3.0) übergeben (per SOAP-Call)
MOA-SP meldet, dass die Signatur nicht korrekt ist, siehe http://test.baumann.at/ebInterface_MOASP/MOASP_Response.xml
.
Das Logfile sagt:
WARN | 13 05:27:49,831 | moa.spss.server | http-5028-Processor22 | TID=1148024210308-292 NID=<null> MSG=Fehler beim Parsen: cvc-complex-type.3.2.2: Attribute 'ConsolidatorPayable' is not allowed to appear in element 'eb:PaymentMethod'., SystemID=null, Zeile=158, Spalte=94
INFO | 13 05:27:49,831 | moa.spss.server | http-5028-Processor22 | TID=1148024210308-292 NID=<null> MSG=Das Signature Environment konnte nicht validierend geparst werden
Wenn man den Base64-Content ansieht, http://test.baumann.at/ebInterface_MO…_from_MOASP.xml erkennt man, dass (von MOA-SP) ein Attribut (ConsolidatorPayable) bei ein Tag hinzugefügt wurde:
<eb:PaymentMethod ConsolidatorPayable="false" xsi:type="eb:UniversalBankTransactionType">
Original war:
<eb:PaymentMethod xsi:type="eb:UniversalBankTransactionType">
Und tatsächlich ist es so, dass lt. Schema http://www.ebinterface.at/schema/2p0/Invoice.xsd das retournierte Dokument nun invalid ist.
--- Nachtrag ---
Das Problem besteht aus zwei Teilen:
1) Ergänzt MOA-SP beim Validieren des signierten Dokumentes das Attribut "ConsolidatorPayable":
<eb:PaymentMethod ConsolidatorPayable="false" xsi:type="eb:UniversalBankTransactionType">
-> das erscheint mit nicht ganz logisch, denn das Attribut ist im Schema nicht als "use=required" angegeben ... ???
2) Wird das Attribut OHNE Namespace eingetragen, und das ist m.A. nach auf jeden Fall ein Fehler.
Und dann noch die Frage, warum bei der Prüfung einer XMLDSig UNBEDINGT validiert werden muss?
(Ev. wäre es eine Idee für die nächste Release vom MOA-SP, das Validieren per Konfiguration oder (besser) per Schnittstellenparameter ausschaltbar zu machen?)
---
Hat jemand von Ihnen ähnliche Erfahrungen beim Signaturprüfen (z.B. auch mit den IAKI-Libraries) gemacht?
MfG
C. Baumann