XML von einer Webseite einlesen - Wie soll das denn gehen?

28. Januar 2014 14:22

Hallo zusammen,

ich habe mal wieder eine Frage... bis jetzt habe ich es erfolgreich geschafft mich um das Thema XML zu drücken, aber wie immer: Wenn es kommt dann sofort mit einer "richtigen" Anforderung.
Könnt Ihr mir bitte ein wenig helfen, damit ich das Thema verstehe und weiß wie ich das abbilden kann?

Vorgeschichte:
Wir haben hier NAV 2013 im Einsatz (nicht R2) und unsere Buchhaltung hätte gerne das die mit einem klick die USt.-Nr. von ausländischen Firmen kontrollieren können und ein Ergebnis in NAV zurückbekommen.
Ich weiß das es 1-3 Anbieter gibt wo man so ein Add-on kaufen kann, aber ich würde das gerne erstmal selbst probieren, damit ich endlich mal an das Thema XML gehe.

Problematik:
Ich habe das jetzt so Programmiert, das eine Abfrage per URL an das BZSt. gesendet wird (per HYPERLINK). Ich bekomme auch ein Ergebnis im Internet Explorer angezeigt. Wenn ich mir den Quellcode der Internetseite ansehe, dann ist das XML.
Jetzt möchte ich das gerne wie folgt haben: Anfrage per Hyperlink und dann die Antwort automatisch in NAV einlesen und Auswerten. Der Errorcode sollte dann (logischerweise) das Ergebnis sein, das in NAV zurückgeschrieben wird.
Starten würde ich in diesem Fall in der Customer Card und schließlich die Funktion über eine Codeunit abwickeln.

Ich habe aber 0 Ahnung von XML, und schon garnicht von Receive...

Ne Hilfestellung von Euch wäre echt nett.

Vielen Dank!

Gruß
Schany

Re: XML von einer Webseite einlesen - Wie soll das denn gehe

28. Januar 2014 14:31

Hi,

du kannst dir mal folgendes näher anschauen:
- XMLHTTP aus "Microsoft XML,vX.0)" (vermtl 6.0)
- Streams und Variant
- XMLDocument aus "Microsoft XML,vX.0)"

Im Prinzip läuft das dann so (hier noch aus Automations bedient, aber wenn du .NET möchtest sollte das sehr ähnllich laufen)
1) XMLHTTP.OPEN('GET',URL)
2) XMLHTTP.send(Variant)
3) XMLDocument.load(XMLHTTP.responseBody)
4) XMLHTTP.Status abfragen (200 = OK)

Das XML-Dokument kannst du jetzt mit den Mitteln aus "Microsoft XML,vX.0)" durchsuchen.
Wie man hier genau bestimmte Werte findet ist in verschiedenen Beiträgen gut beschrieben.

z.B.: viewtopic.php?f=7&t=8639&p=41989&hilit=xmlnodelist#p41989

Re: XML von einer Webseite einlesen - Wie soll das denn gehe

28. Januar 2014 14:59

Hallo Danjo,

vielen Dank für Deine Antwort.
Ich verstehe nur nicht wo ich das her bekomme:
Danjo hat geschrieben:Hi,

du kannst dir mal folgendes näher anschauen:
- XMLHTTP aus "Microsoft XML,vX.0)" (vermtl 6.0)
- Streams und Variant
- XMLDocument aus "Microsoft XML,vX.0)"



irgendwie finde ich das nicht der Automation Microsoft M´XML, v6.0??

Ich habe auch noch nicht so oft mit Automations gearbeitet... Auch wieder so eine Schwachstelle :roll:

Re: XML von einer Webseite einlesen - Wie soll das denn gehe

28. Januar 2014 15:03

Ich mach mal den Spaßverderber:

http://www.msdynamics.de/viewtopic.php?f=20&t=16732

Volker

Re: XML von einer Webseite einlesen - Wie soll das denn gehe

28. Januar 2014 15:09

vsnase hat geschrieben:Ich mach mal den Spaßverderber:

http://www.msdynamics.de/viewtopic.php?f=20&t=16732

Volker


Hallo Volker,

habe ich schon gefunden.... Aber: eigentlich möchte ich die Funktionalität ja einmal kapieren :!:

Aaaaber: Ich hatte Dein Tool auch schon mal ausprobiert. Erklärt sich ja von selbst. Ich bekomme aber dann folgenden Fehler:

"Sie können unter Microsoft Dynamics NAV Server kein Automatisierungsobjekt "USTCheck" erstellen. Sie müssen das Objekt auf einem Clientcomputer erstellen".

Und dann natürlich noch die Frage: Was kostet das? :wink:

Re: XML von einer Webseite einlesen - Wie soll das denn gehe

28. Januar 2014 15:16

http://msdn.microsoft.com/en-us/library ... ed_Objects

im Bereich "Considerations When Running Automation Objects on Microsoft Dynamic NAV Server" wirst du sicherlich fündig

Re: XML von einer Webseite einlesen - Wie soll das denn gehe

28. Januar 2014 16:33

Schany79 hat geschrieben:
vsnase hat geschrieben:Ich mach mal den Spaßverderber:

http://www.msdynamics.de/viewtopic.php?f=20&t=16732

Volker


Hallo Volker,

habe ich schon gefunden.... Aber: eigentlich möchte ich die Funktionalität ja einmal kapieren :!:

Aaaaber: Ich hatte Dein Tool auch schon mal ausprobiert. Erklärt sich ja von selbst. Ich bekomme aber dann folgenden Fehler:

"Sie können unter Microsoft Dynamics NAV Server kein Automatisierungsobjekt "USTCheck" erstellen. Sie müssen das Objekt auf einem Clientcomputer erstellen".

Und dann natürlich noch die Frage: Was kostet das? :wink:


Ich habe kein 2013 hier zum testen. Der Fehler ist mir aber neu. Meines Wissens kann man in den Properties aber einstellen, ob der Code auf dem Client oder Server ausgeführt werden soll.

Kosten? Billig. Bestellt ein bißchen wein in unserem Shop und gut ist.

Volker