Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# -> XML-RPC UstID abgleich

Empfohlene Antworten

Veröffentlicht

Hey ihr,

nachdem ich gestern den ganzen Tag lang Google gequält hab, stell ich mal hier meine Frage(n):

Zur Prüfung der Umsatzsteuer ID kann man bei BZSt: USt-IdNr. Besttigung via XML-RPC Schnittstelle den Vorgang automatisieren.

Momentan haben wir eine Dame in der Buchhaltung, die das immer Händisch erledigt hat.

Meine Aufgabe soll es jetzt sein, in RPG + CL n Programm zu schreiben, mit dem sie das schneller und schöner erledigen kann.

Schön und gut dacht ich mir, verwend das Beispiel doch gleich, um dich wieder etwas mehr mit C# zu beschäftigen.

Leider scheiterts bereits an der Einbindung der XML-RPC.dlls...

Daher die Frage: 1. Wie binde ich die Dlls so ein, dass ich sie in Visual Studio verwenden kann.

2. Kann ich das überhaupt mit Visual Studio Express erledigen?

3. Hat das vllt schonmal jemand gemacht und hätte n Beispielcode rumfahren?

Unter Google hab ich mit "Xml c#" zwar ein Tutorial gefunden, jedoch hat das nicht so richtig funktioniert. Auf weiteren Seiten hab ich dann nur irgendwelche Microsoft MVPs gesehen, die entweder in indisch geantwortet haben, oder über SOAP und Co. gefachsimpelt haben :/

Danke für die Hilfe!

Mfg

Das ganze Unternehmen hängt ersteinmal davon ab, welcher Art die .dlls sind. .dll ist ja nicht gleich .dll oder anders: .NET .dlls dürften sich wohl von C++ generierten .dlls unterscheiden.

Ansonsten kannst Du die .dlls ganz normal als Verweise einbinden, auch mit der Express-Version.

Aber prizipiell ist das doch nur ein HTTP-Request; den Du dann auch selbst kapseln und verarbeiten kannst:

HttpWebRequest-Klasse (System.Net)

WebResponse-Klasse (System.Net)

Using Returned XML with C# - Yahoo! Developer Network

c# - Retrieve XML from https using WebClient/HttpWebRequest - WP7 - Stack Overflow

  • Autor

Dank dir für die Links, die haben mir beim Grundverständnis schon sehr geholfen.

Trotzdem will ich glaub ich gerade über Moskau nach Paris reiten...

1. Problem: Wie erklär ich ihm, dass er nach der ersten Verarbeitung das gleiche nochmal, aber an einem anderen Knotenpunkt machen soll?

2. Wie führe ich den Link, den ich dadurch generiere so aus, dass ich danach die Antwort verarbeite, bevor ich mit dem nächsten Link wieder komme?

3. bei den Codebeispielen die ich gleich poste, bekommt das Python Beispiel einen "rpc" string zurück. Bekomm ich den in C# auch, ohne dass ich die rpc bibliothek einbinde und nur die xml benutze?

Mein Code zum XML einlesen:

string path = "C:\\xmltest2.xml";

                // The Path to the .Xml file //

                FileStream READER = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); //Set up the filestream (READER) //

                System.Xml.XmlDocument UstIDSpecs = new System.Xml.XmlDocument();// Set up the XmlDocument //

                UstIDSpecs.Load(READER); //Load the data from the file into the XmlDocument //

                System.Xml.XmlNodeList NodeList = UstIDSpecs.GetElementsByTagName("UstIDSpecs"); // Create a list of the nodes in the xml file //


                rUstID1 = NodeList[i].FirstChild.ChildNodes[0].InnerText;

                rUstID2 = NodeList[i].FirstChild.ChildNodes[1].InnerText; 

                rFirmenname = NodeList[i].FirstChild.ChildNodes[2].InnerText;  

                rOrt = NodeList[i].FirstChild.ChildNodes[3].InnerText;

                rPLZ = NodeList[i].FirstChild.ChildNodes[4].InnerText;

                rStrasse = NodeList[i].FirstChild.ChildNodes[5].InnerText;
Das gegebene Python Beispiel:
import xmlrpclib


server_url = 'http://evatr.bff-online.de/' # 'https://...' bei SSL-Verschlüsselung

server     = xmlrpclib.Server(server_url)


# daten zum testen

UstId_1    = 'DE123456789'

UstId_2    = 'AB123456789012'

Firmenname = 'Firmenname einschl. Rechtsform'

Ort        = 'Ort'

PLZ        = '1234567'

Strasse    = 'Strasse und Hausnummer'

Druck      = 'nein'


rpc = server.evatrRPC(UstId_1, UstId_2, Firmenname, Ort, PLZ, Strasse, Druck)


print rpc
Meine XML-Testdatei:
<?xml version="1.0"?>

<UstIDSpecs>

  <UI>    

    <UstId_1>DE13333337</UstId_1>

    <UstId_2>AYYYYYYYY6</UstId_2>

    <Firmenname>Beispielfirma</Firmenname>

    <Ort>Beispielort</Ort>

    <PLZ>123456</PLZ>

    <Strasse>Turmgasse 4711</Strasse>

  </UI>

  <UI>    

    <UstId_1>DE123456789</UstId_1>

    <UstId_2>ATU12345678</UstId_2>

    <Firmenname>Testfirma2</Firmenname>

    <Ort>Musterstadt</Ort>

    <PLZ>12345</PLZ>

    <Strasse>Musterstrasse 42</Strasse>    

  </UI>

</UstIDSpecs>

Danke für die Hilfe!

Bearbeitet von Fraggla

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.