Hallo Community,
hat jemand detaillierte Informationen welche Möglichkeit des Zugriffs ins Internet die SmartIT bietet bzw. einschränkt?
Konkret geht es mir darum, dass ich automatisiert einen Datenexport per KRExport durchführen möchte und diese Daten dann z.B. mit Hilfe von curl.exe an meinen lokalen Server posten möchte.
Der Export an sich und der Aufruf von curl.exe funktioniert auch, nur kann curl.exe dann keine Verbindung zu meinem lokalen Server per https aufbauen.
z.B. so:
curl.exe --form "file=@O:\Export\OffenePosten.txt" https://xxx.yyy.de/datev.php
curl.exe kann die URL per DNS auflösen, zeigt die richtige IP auch mit "Trying x.x.x.x...." an, landet dann aber in einem Timeout.
der Server ist definitiv erreichbar, ich denke der Internetzugriff ist beschränkt.
Weiß hier jemand mehr oder kann mir einen Tipp geben, wie ich automatisiert Dateien aus der SmartIT auf einen lokalen Rechner übertragen kann? (das obere curl.exe-Beispiel ist natürlich stark vereinfacht, im produktiven Einsatz wird es hier noch erhebliche Anpassungen zu Datensicherheit und Datenschutz geben).
Vielen Dank
M. Koch
DATEV per Servicekontakt fragen. Smart IT nutzt wie DATEVasp und PARTNERasp das DATEV Rechenzentrum (DATEVnet) mit WebRadar und allerlei anderer Techniken. Was DATEV genau sperrt oder freigibt, wird DATEV aus Sicherheitsgründen wohl nicht frei veröffentlichen, schätze ich.
SSL ist Pflicht und auch ein öffentlich prüfbares Zertifikat, dass zur Domain passt. Andernfalls wird DATEV das rigoros abweisen.
Aus
curl.exe --form "file=@O:\Export\OffenePosten.txt" https://xxx.yyy.de/datev.php
wird "hinter dem Link"
curl.exe --form "file=@O:\Export\OffenePosten.txt" https://xxx.yyy.de:8080/datev.php
Es könnte evtl. funktionieren, wenn der WebServer per 443 erreichbar ist. Vielleicht benötigt "curl" dann aber auch noch die Proxy Informationen, sofern in der SmartIT über DATEVnet gesurft wird.
Hallo MarkusKoch,
der Internetzugang in der DATEV-SmartIT Serversitzung ist nur über den DATEVnet Proxy möglich ggf. ist es für curl notwendig diesen explizit per Befehlszeile anzugeben, oder auf den Systemproxy zu verweisen.
Sie können die Datei aber auch über ihre lokalen Laufwerke (auf welche Sie in der Sitzung zugreifen) in Richtung ihres Servers bringen, dann schicken Sie ihrer Daten nicht über das Internet an einen PHP-Server. Ideallösung wäre natürlich einen der offiziellen DATEV Datenservices zu nutzen und die Daten dort über das RZ zu holen.
Viele Grüße
Christian Schmidt
DATEV eG
Teamleiter Produktmanagement DATEVasp und DATEV-SmartIT
Hallo Herr Schmidt,
vielen Dank für den Tipp!
Mit
curl.exe --proxy "win-proxy.services.datevnet.de:8880" https://www.google.de
komme ich schon ein Stückchen weiter, z.B. Google kann ich damit erreichen.
Wenn ich es aber mit meinem Server versuche, dann antwortet der Proxy "HTTP/1.1 403 Forbidden".
curl.exe --proxy "win-proxy.services.datevnet.de:8880" https://xxx.xxx.xxx.xxx:8080/datev.php
Auch wenn ich die URL ganz einfach in der SmartIT-Sitzung im Edge eingebe, erhalte ich auch die Meldung, dass Web-Radar diese Seite aus Sicherheitsgründen blockiert.
Besteht die Möglichkeit, dass wir unsere eignen Server auf eine Whitelist per Servicekontakt im DATEVnet setzen lassen können und habe ich da keine Chance?
Zu Ihrem Hinweise mit den gemappten Laufwerken:
ich könnte per
net use z: \\client\c$
ein lokales Laufwerk als Netzlaufwerk in die SmartIT-Sitzung verbinden und dann die Datei per Batchfile kopieren. Das wäre natürlich auch eine Lösung, auch wenn ich die curl-Lösung "schicker" finde 🙂
Viele Dank
M. Koch
Die DATEVnet Proxies lassen (AFAIK) nur 443 und 80 durch.
Warum nicht einfach den lokalen Webserver mit dem Standardport für https (tcp 443) betreiben?
Ansonsten: DATEVnet: Portfreischaltung beantragen - DATEV Hilfe-Center
(Ob das aber auch in der Smart-IT gilt, keine Ahnung.)
auch der Standard-Port 443 wird blockiert, hatte ich getestet. Ohne Whitelist werde ich wohl nicht auf meinen Server kommen...
Ich versuche mal mein Glück mit der Portfreischaltung...
Was sagt denn der Webbrowser beim Test per "Standard https"? Und wie sieht das Zertifikat (trusted / selfsigned) aus? Dürfen denn auch die DATEVnet Proxies auf den Port 443 an deinem Server verbinden?
Bei curl müsste es auch den Parameter "-k" bzw. "--insecure" geben, um jedem Zertifikat zu vertrauen.
Hallo Herr Koch,
Portfreischaltungen sind leider nur bei physischen Routern (nicht bei DATEVasp und Smart-IT) möglich. Siehe dazu auch das Online-Formular im Dokument 1007727. Sie können sich aber gern trotzdem bei uns melden, dann können wir besprechen, ob und welche Alternativen für Ihren Fall zur Verfügung stehen.
soweit komme ich in der SmartIT erst gar nicht. Wenn ich die URL https://... auf Port 443 im Edge eingebe, erhalte ich bereits die Meldung von Web-Radar, dass ich da nicht hin darf.
Das Zertifikat ist ein gültiges/öffentliches Sectigo-Zertifikat, im lokalen Browser alles grün.
Hallo Herr Maetz,
viele Dank, Servicekontakt ist angelegt...
Service Kontakt Nummern dürfen hier nicht genannt werden! Bitte wieder löschen!
Ich komme bei einem DATEVnet Kunden (im PARTNERasp) mit curl durch den Proxy bis zu einem Testserver von mir. Ggfs. passt dann auch am lokalen Webserver etwas nicht. Da ist der Service Kontakt vermutlich der beste Weg.
ich halte euch auf dem Laufenden....
Hallo zusammen,
nach der Umstellung auf Port 443 klappt die Übertragung.
Ich hole in einem PowerShell-Skript per cURL in der Smart-IT einen Export der Buchungen und Stammdaten ab, verarbeite diesen per KrStaPv.exe in der Smart-IT und schicke mir das Log-File von KrStaPv.exe per Mail zu. Auf meiner lokalen Seite habe ich ein PHP-Programm, das sich mit der Datenbank meines lokalen ERPs verbindet und direkt per SQL einen Datev-Export erstellt und diesen als Antwort auf die cURL-Anfrage ausgibt.
An sich eine recht elegante Geschichte, so kann man den Import/Export recht gut automatisieren. Dasselbe werde ich noch für die offenen Posten per KRExport.exe nur eben in die andere Richtung umsetzen.
Die Krönung wäre natürlich, wenn man das Ganze wirklich automatisieren könnte, z.B. über eine geplante Aufgabe am Windows-Server. Leider ist die Windows-Aufgabenplanung in der Smart-IT ab gesperrt. Hat von euch jemand eine Idee wie ich das umsetzen könnte? Aktuell muss ich in der Smart-IT das PowerShell-Skript manuell starten.
Danke!
Ich würde _vermuten_ der "sauberste" Weg wäre hier aus dem ERP direkt an Unternehmen online(?) / DATEV-Datenservices Rechnungswesen(?) / "eine offizielle Schnittstelle" zu gehen.
Ansonsten erneut per Servicekontakt anfragen, ob evtl. eine Aufgabe über einen dedizierten User erstellt werden kann. Alternativ wäre evtl. der gute, alte Autostart noch ein Ansatz.