XML-Schnittstelle nutzen? [ERLEDIGT]

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 56
Registriert: Mo, 25. Sep 2017 12:21

XML-Schnittstelle nutzen? [ERLEDIGT]

Beitrag von vorti » Fr, 25. Mai 2018 9:08

Hallo,
ich würde gerne ein kleines Tool schreiben um die Ust-Id zu prüfen.
Auf dieser Seite wird dazu eine Schnitstelle angeboten: https://evatr.bff-online.de/eVatR/xmlrpc/

Ich stell es mir in etwa so vor:
Eingabemaske: Prüfdaten eingeben -> Senden -> Antwort in eine neue Maske übergeben.

Leider reichen meine Kenntnisse dazu nicht aus.
Die Anfrage funktioniert über einen HTTP - Aufruf, gibt es da ne Funktion?
Wenn ja, wie werte ich die Antwort dann aus?
Ist das mit Xbase++ realisierbar.

Vielen Dank für eure Hilfe
Zuletzt geändert von vorti am Fr, 01. Jun 2018 15:12, insgesamt 1-mal geändert.

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 9:28

Ich arbeite mit der Abfrage beim BFF. Klappt sehr gut. Wobei ich mir das einfach mache und die Abfrage per LaodFromUrl() abschicke. Und die XML, die ich zurück bekomme, nicht mit den Alaska-XML-Funktionen auseinander brösele. Die ist extrem simpel aufgebaut, die arbeite ich deswegen mit einer einfachen String-Verarbeitung ab. Die gesamte Funktion hat gerade mal 80 Codezeilen (inkl. Leerzeilen, Schleifen, Zeilenumbrüch für bessere Lesbarkeit, etc.)

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 56
Registriert: Mo, 25. Sep 2017 12:21

Re: XML-Schnittstelle nutzen?

Beitrag von vorti » Fr, 25. Mai 2018 10:07

Danke für die Antwort.
Also wenn ich das richtig verstanden habe sende ich einfach die Anfrage mit
< LoadFromUrl( cUrl ) >
und die Antwort speicher ich dann als String mit
< cAntwort := GetCgiString(LoadFromUrl( cUrl )) > ?

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14466
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh » Fr, 25. Mai 2018 10:30

NEIN - die Funktion GetCgiString() ist für einen anderen Zweck gedacht.
Wenn z.B. eine Browserzeile reichen würde: "www.gibmirInfo.de/Info"
um den Text
<html>Hallo Welt</html>
im Browser angezeigt zu bekommen (also dort sähe man nur "Hallo Welt"), dann wird mit ...

cAntwort := LoadFromUrl("http://www.gibmitInfo.de/Info")

der Browseraufruf umgesetzt, und in cAntwort ist ...

cAntwort == "<html>Hallo Welt</html>"

bei JANs aufruf kommt dort eben die XML Daten raus, wobei ich nun nicht weiß, wie man dein Aufruf für euch umsetzen muss.
Diese cAnwort wird dann zerlegt, entweder mit substr() oder bei XML z.B. auch mit den neuen XML Klassen in Xbase 2.0
Gruß
Hubert

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 10:31

Vorti,

das hier schicke ich:

Code: Alles auswählen

Rueckgabe := LoadFromUrl("https://evatr.bff-online.de/evatrRPC" + ;                               // Die URL zur Abfrage
                         "?UstId_1=[Deine ustID]" + ;                                             // Unsere UstID
                         "&UstId_2=" + Alltrim(cUstid) + ;                                        // Die UstID des Kunden
                         "&Firmenname=" + AllTrim(entferneUmlaute(cName)) + ;                     // Der Firmenname des Kunden, auf den die UstID ausgestellt ist
                         "&Ort=" + Alltrim(entferneUmlaute(cOrt)) + ;                             // Ort der IstID-Firma
                         "&PLZ=" + Alltrim(cPlz) +  ;                                             // PLZ der UstID-Firma
                         "&Strasse=" + AllTrim(entferneUmlaute(cStrasse)) + ;                     // Straße der UstID-Firma
                         "&Druck=")                                                               // Amtliche Bestätigung leer = Keine anfordern
Und cRueckgabe mußt Du dann halt entsprechend auswerten.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14466
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh » Fr, 25. Mai 2018 10:32

wirklich schade, dass die kein Beispiel zum Üben anbieten, z.B. Herrn Mustermann ...
Gruß
Hubert

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 10:40

Musteranfragen sind normale scharfe Anfragen. da das nichts kostet, nichts protokolliert wird, ist das vollkommen egal.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 10:51

Noch was: Wir haben immer wieder Ärger mit Kunden die sagen: Das, was ich Ihnen gegeben habe ist meine korrekte Firmierung und Anschrift. Was die Rückgabe der Abfrage ist ist falsch. Gerade Österreicher geben in der UstID-Anmeldung gerne ihre Privatnamen an statt die Firma.

Das muß mir aber vollkommen egal sein. Wenn das, was der Kunde mir als Rechnungsanschrift angibt, nicht mit dem übereinstimmt, was seine Registrierungsstelle über ihn gespeichert hat, dann darf ich ihm das nicht auf Basis dieser UstID senden. Denn wenn sein Finanzamt mal irgendwann die Rechnung prüft und feststellt, das die auf Basis falscher Daten erstellt worden ist, dann bin ICH dran!

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14466
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh » Fr, 25. Mai 2018 10:55

Jan hat geschrieben:
Fr, 25. Mai 2018 10:40
Musteranfragen sind normale scharfe Anfragen. da das nichts kostet, nichts protokolliert wird, ist das vollkommen egal.
Jan
Aber für einen Test, müsste ich ja eine konkrete Adresse wissen und woher soll ich mir jetzt eine ausdenken ;-)
Gruß
Hubert

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14466
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh » Fr, 25. Mai 2018 10:57

entferneUmlaute(cName)

wird hier "ü" => "u" oder "ue" übersetzt ?
Gruß
Hubert

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 11:19

Hubert,

"ue". Und "ß"->"ss"

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 11:22

Hubert,

nimm Dir für einen Test einfach irgend eine österreichisch, französische, was auch immer Anschrift, zu der es eine UstID gibt. Ja, ist mir schon klar, woher nehmen. Muß man umständlich im Netz suchen, wenn man keine aktuellen Kunden in der Datenbank mit solchen Daten stehen hat. Aber das BFS hat das halt so geregelt. da kann man sich auf den Kopf stellen, da kommt man nicht dran vorbei.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14466
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh » Fr, 25. Mai 2018 12:16

Ich brauche es ja nicht ;-)
Gruß
Hubert

vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 56
Registriert: Mo, 25. Sep 2017 12:21

Re: XML-Schnittstelle nutzen?

Beitrag von vorti » Fr, 25. Mai 2018 14:20

Hallo Jan,
wie hast du das mit den Firmennamen gelöst.
Wenn ich die Firma unter den Namen "Musterfirma" suchen lasse, diese jedoch als "Musterfirma XY" eingetragen ist bei denen, stimmt sie ja bereits nicht mehr überein.

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 14:40

Prinzipiell muß das schon übereinstimmen. Allerdings ist der Vergleich beim BFF da etwas flexibel. Wenn z. B. der Firmenname aus mehreren Worten besteht, und bei der Anfrage das letzte fehlt, klappt das trotzdem meistens. Die schreiben in der Doku zur Schnittstelle, das die flexibel sind, aber dem Anwender nicht erklären, in wie fern. Was dann schon irgendwie nachvollziehbar ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
Beiträge: 1482
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: XML-Schnittstelle nutzen?

Beitrag von Werner_Bayern » Fr, 25. Mai 2018 15:22

Servus,

wir nutzen dazu

Code: Alles auswählen

http://ec.europa.eu/taxation_customs/vies/services/checkVatService
Das offizielle Auskunftssystem der EU mit XML-Schnittstelle.

http://ec.europa.eu/taxation_customs/vies/
es grüßt euch

Werner

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 25. Mai 2018 15:27

Werner,

über den Weg, der oben beschrieben ist, kannst Du die aber aus Deinem Programm heraus abfragen und das Resultat intern entsprechend automatisch verarbeiten. Die Anfrage geht zwar an die deutsche Behörde, aber die holt sich dann die Daten bei den angeschlossenen ausländischen Behörden ab. Trotzdem läuft das nahezu verzögerungsfrei ab.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
Beiträge: 1482
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: XML-Schnittstelle nutzen?

Beitrag von Werner_Bayern » Fr, 25. Mai 2018 16:53

Servus Jan,

das ist hier auch der Fall, nur dass es die EU ist und die dann bei Bedarf auch automatisch über die Länder geht. Zurück kommt ein XML-String.
es grüßt euch

Werner

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 12949
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan » Fr, 01. Jun 2018 9:26

Vorti,

bist Du da weiter gekommen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 56
Registriert: Mo, 25. Sep 2017 12:21

Re: XML-Schnittstelle nutzen?

Beitrag von vorti » Fr, 01. Jun 2018 14:49

Ja, danke. Funktioniert super

Antworten