XML-Schnittstelle nutzen? [ERLEDIGT]

Vom Front-End bis SOAP.

Moderator: Moderatoren

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

XML-Schnittstelle nutzen? [ERLEDIGT]

Beitrag von vorti »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 61
Registriert: Mo, 25. Sep 2017 12:21

Re: XML-Schnittstelle nutzen?

Beitrag von vorti »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh »

wirklich schade, dass die kein Beispiel zum Üben anbieten, z.B. Herrn Mustermann ...
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh »

entferneUmlaute(cName)

wird hier "ü" => "u" oder "ue" übersetzt ?
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von brandelh »

Ich brauche es ja nicht ;-)
Gruß
Hubert
vorti
UDF-Programmierer
UDF-Programmierer
Beiträge: 61
Registriert: Mo, 25. Sep 2017 12:21

Re: XML-Schnittstelle nutzen?

Beitrag von vorti »

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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XML-Schnittstelle nutzen?

Beitrag von Werner_Bayern »

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

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XML-Schnittstelle nutzen?

Beitrag von Werner_Bayern »

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

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XML-Schnittstelle nutzen?

Beitrag von Jan »

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: 61
Registriert: Mo, 25. Sep 2017 12:21

Re: XML-Schnittstelle nutzen?

Beitrag von vorti »

Ja, danke. Funktioniert super
Antworten