Testen des Webservices

Zum Testen des Webservices stehen zwei Möglichkeiten zur Verfügung, die aber beide einen gültigen USP-Webservice-Benutzer voraussetzen:

  1. Das Setzen des Flags test="true" im Element Settings in der SOAP-Nachricht. Dadurch wird nur die erste technische Überprüfung durchgeführt, und es kann weder ein Gutfall, noch die Bestätigungs-E-Mail noch der Aufruf des asynchronen Webservice-Callbacks getestet werden. Details...
  2. Durch die Verwendung eines Test-Endpunkts können sowohl Gutfälle, E-Mail-Bestätigung als auch der asynchrone Callback getestet werden. Details...

Hinweis: Ohne USP-Benutzer kann das Webservice nicht getestet werden. Es gibt auch keinen Test-Benutzer für das USP. Es kann nur mit dem personalisierten USP-Benutzer getestet, und später auch eingebracht werden.

Hinweis für SoapUI-User: bei den Einstellungen des Requests müssen die Standardeinstellungen für "Authentication Type" nicht geändert werden und "Username" und "Password" muss ebenfalls leer bleiben. Nur die Daten im SOAP-Header werden akzeptiert!

Test-Flag

Das Test-Flag bietet die Möglichkeit, den Aufruf des Webservices zu testen, ohne eine Rechnung ins Echtsystem einzuliefern. Es entspricht in etwa dem Test-Upload, benötigt aber einen USP-Benutzer. Das Ziel des Test-Flags ist es, die Verwendung des USP-Webservice-Benutzers sowie die Kodierung der Rechnung zu prüfen. Zusätzlich wird die enthaltene Rechnung auch technisch überprüft - wie beim Test-Upload. Als direkte Antwort kommt die Liste der Fehler bzw. die Erfolgsnachricht zurück. Mit diesem Test-Flag kann allerdings nicht das Webservice Callback getestet werden, da die Rechnung nie zur inhaltlichen Prüfung übermittelt wird. Bei gesetztem Test-Flag wird auch keine Bestätigungs-E-Mail versendet.

<?xml version="1.0" encoding="utf-8"?>
<env:Envelope ...>
<env:Header>...</env:Header>
<env:Body>
<deliverInvoiceInvoiceInput xmlns="http://erb.eproc.brz.gv.at/ws/invoicedelivery/201306/">
<Invoice>...</Invoice>
<Settings test="true" language="de"/>
</deliverInvoiceInvoiceInput>
</env:Body>
</env:Envelope>
<?xml version="1.0" encoding="utf-8"?>
<env:Envelope ...>
<env:Header>...</env:Header>
<env:Body>
<uploadDocument xmlns="http://erb.eproc.brz.gv.at/ws/documentupload/20121205/">
<Document>...</Document>
<Settings test="true"/>
</uploadDocument>
</env:Body>
</env:Envelope>

Test-Endpunkt

Um den Webservice so nah wie möglich an der produktiven Lösung zu testen, gibt es für die E-RECHNUNG.GV.AT-Test-Plattform einen eigenen Webservice-Endpunkt. Dieser verwendet die identischen Schnittstellen wie die Produktion (die gleichen WSDL-Dateien), bietet aber die Möglichkeit des End-2-End Tests.

Voraussetzungen

1. Ein USP-Benutzer - Details sind in diesen Folien

2. Ein USP-Webservice-Benutzer - Details sind ebenfalls in diesen Folien. Es muss darauf geachtet werden, dass das Hakerl bei "E-RECHNUNG.GV.AT Webservice (T)" gesetzt ist - das ist der Test-Webservice. Der Eintrag ohne "(T)" ist das produktive Webservice (siehe Seite 28 der Folien).
Wenn der Eintrag "E-RECHNUNG.GV.AT Webservice (T)" nicht sichtbar ist, so schreiben Sie bitte eine E-Mail an support-erb@brz.gv.at, damit wir die Freischaltung veranlassen können.

Hinweis: sämtliche existierende Freischaltungen funktionieren sowohl für Webservice V1.2 als auch für Webservice V2.0!

3a. Verwenden Sie zum Testen vom Webservice V2.0 den folgenden Webservice-Endpunkt:

  • https://txm.portal.at/at.gv.bmf.erb.test/V2

3b. Verwenden Sie zum Testen vom Webservice V1.2 den folgenden Webservice-Endpunkt:

  • https://txm.portal.at/at.gv.bmf.erb.test/V1

4. Nun kann ein Test-Request abgesetzt werden. Es kann auch hier das Test-Flag (s.o.) gesetzt werden, muss aber nicht. Um den asynchronen Callback mit einem Fehlerfall zu testen, reicht das Setup bis hierher aus.

Testen eines Gutfalls

Die Voraussetzung zum Testen eines Gutfalls ist das Vorhandensein einer Bestellung in unserem System. Wir bieten ihnen eine entsprechende Funktionalität zum Erstellen solcher Dummy-Bestellungen, auf die dann Rechnungen gesendet werden können. Das funktioniert aber nur mit dem Test-Endpunkt und nicht auf der produktiven E-RECHNUNG.GV.AT-Seite! Alle Voraussetzungen des Test-Endpunkts (s.o.) müssen erfüllt sein.

  1. Webservice-Client für erb-in-test-order-102.wsdl (letztes Update 28.1.2016 - Default-Endpoint hinzugefügt) erstellen. Für dieses Webservice benötigen Sie keinen USP-Benutzer!
  2. API-Key via Email unter Angabe des Firmennamens von support-erb@brz.gv.at erfragen. Diesen API-Key müssen Sie bei jedem Aufruf mitgeben.
  3. Webservice-Client mit dem Endpunkt https://test.erechnung.gv.at/tester/wstest100 (ohne "-" in der URL!) aufrufen - kein USP-User und kein WSSE notwendig!
    Aufzurufende Methode: createTestOrder
    Übergabeparameter:
    • APIKey - siehe Punkt 2.
    • Currency (Währung) - Standardwert ist 'Euro'
    • OrderLine (1-n mal; Bestellpositionen) - bestehend aus:
      • Description - Name des Artikels/der Leistung - muss angegeben werden
      • UnitNetPrice - Nettoeinzelpreis - muss ≥ 0 sein und angegeben werden
      • Unit - Mengeneinheit - Standardwert ist 'Stück'
      • Quantity - Mengenanzahl - Standardwert ist 1 - muss ≥ 0 sein
      • TaxRate - Steuersatz in Prozent - Standardwert ist 20

    Hinweis: die Netto-Bestellsumme (Summe von UnitNetPrice * Quantity) darf 1000 (eintausend) nicht überschreiten (auf Grund interner Beschränkungen).

    Rückgabewerte:

    • CreditorID - die Lieferantennummer dieser Bestellung
    • OrderID - die Bestellnummer dieser Bestellung
    • BuyerGroup - die Einkäufergruppe dieser Bestellung
    • OrderPositionNumber (1-n mal) - die pro Bestellposition zu verwendende Bestellpositionsnummer, in derselben Reihenfolge wie die Bestellpositionen angegeben wurden.

    Hinweis: mit diesen Daten können die verschiedenen Formen der Auftragsreferenz (Bestellnummer, Einkäufergruppe etc.) abgebildet werden. Es muss nicht zwingend eine bestellbezogene Rechnung versendet werden!

  4. Rechnung per Webservice an den Test-Endpunkt versenden. Als Referenzdaten die Rückgabewerte von 3. verwenden. Wenn alles passt, erhalten Sie eine Gutfall-Nachricht - entweder per E-Mail oder über das asynchrone Callback.
    Hinweis: mit den Rückgabewerten aus 3. kann auch ein Rechnungsformular ausgefüllt werden, bzw. ein manueller Upload auf der E-RECHNUNG.GV.AT-Test-Plattform gemacht werden.