Bodo's Dynamics NAV und Business Central Blog
Bodo ist ein Dynamics NAV Urgestein. Er programmiert Navision seit DOS Zeiten und hat auch keine Scheu vor .NET und schon gar nicht vor Dynamics 365 oder Azure. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu Entwicklern ausgebildet. In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics 365 Business Central / Dynamics NAV und Microsoft Azure.Dynamics NAV 2009 R2 Web Services – Ein Tutorial, Teil 2
Tags: webservices, 2009, r2, nav, codeunit, tutorialIm zweiten Teil des Tutorials möchte ich Ihnen zeigen, wie Sie den im ersten Teil veröffentlichten Web Service von einer mit Visual Studio 2010 erstellten Konsolenanwendung aus nutzen. Wenn Sie den ersten Teil noch nicht gelesen haben, folgen Sie bitte diesem Link: Dynamics NAV 2009 R2 Web Services – Ein Tutorial, Teil 1
1) Für unser Beispiel starten Sie Visual Studio und legen auf Basis der Vorlage „Konsolenanwendung“ ein neues Projekt mit dem Namen „DemoApplication“ an. Als Programmiersprache verwende ich Visual Basic. Sie können aber auch gern C# nehmen.
2) Visual Studio erstellt uns automatisch das Projektgerüst und ich benenne unser Startobjekt von „Module1“ in „Application“ um.
3) Als nächstes müssen wir eine Referenz auf unseren Web Service „MyContactService“ dem Projekt hinzufügen. Dazu klicken Sie mit der rechten Maustaste im Projektmappen-Explorer auf „DemoApplication“ und wählen im Kontextmenü „Dienstverweis hinzufügen“. Es öffnet sich der Dialog „Dienstverweis hinzufügen“ und Sie klicken bitte auf die links unten angebrachte Schaltfläche „Erweitert“. Es öffnet sich der Dialog „Dienstverweiseinstellungen“ und Sie klicken jetzt auf die links unten abgebrachte Schaltfläche „Webverweis hinzufügen“. Es öffnet sich der Dialog „Webverweis hinzufügen“. Wir sind endlich angekommen und Sie geben die URL zu unserem Web Service (http://localhost:7047/DynamicsNAV/WS/Page/MyContactService) ein und drücken Enter. Visual Studio fragt den Web Service ab und zeigt die Methoden an, die unser Web Service veröffentlicht. Geben Sie jetzt noch den Webverweisnamen „MyContactServiceNAV“ an und klicken Sie auf die Schaltfläche „Verweis hinzufügen“.
4) Ich denke, die meisten Methoden sprechen für sich. Die Methode Create() entspricht dem Rec.INSERT in Dynamics NAV. Die Methode Read() entspricht dem Rec.GET(), die Methode Update() dem Rec.MODIFY() und Delete() entspricht Rec.DELETE().
5) Wir wollen die Methode Read() ausprobieren. Dazu kapsele ich den Web Service Zugriff in einer eigenen Klasse „MyContactHandler“. Zu beachten ist dabei folgendes:
A) Bisher sind wir in unser Web Service URL ohne Mandanten-Namen ausgekommen. Wenn wir nur die WSDL auslesen, ist das auch völlig okay. Wenn wir aber Daten lesen wollen, müssen wir den Mandanten-Name „CRONUS AG“ mit in die URL aufnehmen. Zur Verdeutlichung habe ich in meinem Codebeispiel unten die Bestandteile der URL einzeln aufgeführt.
B) Über die Eigenschaft „UseDefaultCredentials“ sorgen wir dafür, dass wir mit unserer aktuellen Windows-Anmeldung am Web Service angemeldet werden.
6) Zu guter Letzt fehlt nur noch der Aufruf und die Ausgabe in unser Application-Klasse.
7) Starten Sie die Anwendung und die Daten des Kontaktes werden ausgelesen.
8) Ende. Den Quellcode des Projektes können Sie herunterladen.