Hallo zusammen!
Nachdem es immer wieder Fragen zu Thema Webservice-Einlieferung gibt, darf ich an dieser Stelle einen einfachen Weg vorschlagen, wie die Einlieferung per Webservice funktioniert.
Als Voraussetzung benötigen Sie auf jeden Fall den USP-Webservice-User wie er auf erechnung.gv.at/erb?locale=de_AT&p=tec_test_ws beschrieben ist.
Webservice 2.0
Danach befüllen Sie folgenden Template-SOAP-Request mit den im Anschluß erklärten Platzhaltern:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>$USERNAME$</wsse:Username>
<wsse:Password>$PASSWORD$</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<erb:deliverInvoiceInvoiceInput xmlns:erb="http://erb.eproc.brz.gv.at/ws/invoicedelivery/201306/">
<erb:Invoice encoding="$ENCODING$">$BASE64$</erb:Invoice>
<erb:Settings test="$TEST$" language="de"/>
</erb:deliverInvoiceInvoiceInput>
</env:Body>
</env:Envelope>
$USERNAME$ - der Webservice Benutzername
$PASSWORD$ - das Passwort des Webservice Benutzers
$ENCODING$ - das Encoding der verwendeten XML-Datei
$BASE64$ - die Base64-binary kodierte XML-Rechnung
$TEST$ - true (für eine Test-Einlieferung) oder false (für eine Echt-Einlieferung)
Anschließend können Sie mit folgendem Befehl die Einlieferung starten:
curl -H "Content-Type: text/xml; charset=utf-8" -X POST -d @test.xml -k txm.portal.at/at.gv.bmf.erb.test/V2
Hinweis: curl ist ein Kommandozeilen-Programm welches von curl.haxx.se/ gratis heruntergeladen werden kann (Windows, Linux etc.)
Hinweis: der Aufruf geht davon aus, dass es die Datei "test.xml" im dem Verzeichnis gibt, in dem der Befehl abgesetzt wird (@test.xml heißt soviel wie "lese den Inhalt der Datei test.xml")
Hinweis: das Encoding in der curl-Commandline muss mit dem Encoding des Template-XMLs übereinstimmen (hier in beiden Fällen utf-8)
Hinweis: hier wird der Test-Endpunkt verwendet (txm.portal.at/at.gv.bmf.erb.test/V1) - für die Produktion muss stattdessen txm.portal.at/at.gv.bmf.erb/V1 verwendet werden! Achtung, es MUSS https verwendet werden - es gibt keine automatische Weiterleitung von http auf https.
Hinweis: die SOAP-Nachricht MUSS UTF-8 kodiert sein!
Hinweis: <env:Envelope muss eine lange Zeile sein, und darf sich nicht über mehrere Zeilen erstrecken
Hinweis: die SOAP-Action wird für V2 nicht mehr benötigt!
Hinweis: für alle die Schwierigkeiten mit den SOAP-Nachrichten gibt es jetzt den SOAP-Tester: https://test.erechnung.gv.at/erb/de_AT/soap_tester
Für curl etc. gibts keinen Support von mir!
vg P. Helger
Nachdem es immer wieder Fragen zu Thema Webservice-Einlieferung gibt, darf ich an dieser Stelle einen einfachen Weg vorschlagen, wie die Einlieferung per Webservice funktioniert.
Als Voraussetzung benötigen Sie auf jeden Fall den USP-Webservice-User wie er auf erechnung.gv.at/erb?locale=de_AT&p=tec_test_ws beschrieben ist.
Webservice 2.0
Danach befüllen Sie folgenden Template-SOAP-Request mit den im Anschluß erklärten Platzhaltern:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<env:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>$USERNAME$</wsse:Username>
<wsse:Password>$PASSWORD$</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<erb:deliverInvoiceInvoiceInput xmlns:erb="http://erb.eproc.brz.gv.at/ws/invoicedelivery/201306/">
<erb:Invoice encoding="$ENCODING$">$BASE64$</erb:Invoice>
<erb:Settings test="$TEST$" language="de"/>
</erb:deliverInvoiceInvoiceInput>
</env:Body>
</env:Envelope>
$USERNAME$ - der Webservice Benutzername
$PASSWORD$ - das Passwort des Webservice Benutzers
$ENCODING$ - das Encoding der verwendeten XML-Datei
$BASE64$ - die Base64-binary kodierte XML-Rechnung
$TEST$ - true (für eine Test-Einlieferung) oder false (für eine Echt-Einlieferung)
Anschließend können Sie mit folgendem Befehl die Einlieferung starten:
curl -H "Content-Type: text/xml; charset=utf-8" -X POST -d @test.xml -k txm.portal.at/at.gv.bmf.erb.test/V2
Hinweis: curl ist ein Kommandozeilen-Programm welches von curl.haxx.se/ gratis heruntergeladen werden kann (Windows, Linux etc.)
Hinweis: der Aufruf geht davon aus, dass es die Datei "test.xml" im dem Verzeichnis gibt, in dem der Befehl abgesetzt wird (@test.xml heißt soviel wie "lese den Inhalt der Datei test.xml")
Hinweis: das Encoding in der curl-Commandline muss mit dem Encoding des Template-XMLs übereinstimmen (hier in beiden Fällen utf-8)
Hinweis: hier wird der Test-Endpunkt verwendet (txm.portal.at/at.gv.bmf.erb.test/V1) - für die Produktion muss stattdessen txm.portal.at/at.gv.bmf.erb/V1 verwendet werden! Achtung, es MUSS https verwendet werden - es gibt keine automatische Weiterleitung von http auf https.
Hinweis: die SOAP-Nachricht MUSS UTF-8 kodiert sein!
Hinweis: <env:Envelope muss eine lange Zeile sein, und darf sich nicht über mehrere Zeilen erstrecken
Hinweis: die SOAP-Action wird für V2 nicht mehr benötigt!
Hinweis: für alle die Schwierigkeiten mit den SOAP-Nachrichten gibt es jetzt den SOAP-Tester: https://test.erechnung.gv.at/erb/de_AT/soap_tester
Für curl etc. gibts keinen Support von mir!
vg P. Helger
The post was edited 6 times, last by phelger ().