Bodo's Dynamics NAV Blog

Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet.

In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics NAV.

Dynamics NAV 2009 R2 Web Services – Ein Tutorial, Teil 1

Eintrag von Bodo am Donnerstag, 31. Mai 2012

Tags: , , , , ,

Mit der Installation des Microsoft Dynamics NAV Servers wird nicht nur der Dienst „MicrosoftDynamicsNavServer“ installiert, sondern zusätzlich auch der Microsoft Dynamics NAV Business Web Services Dienst „MicrosoftDynamicsNavWS“. Der letztere ist für die Beantwortung von Web Service Anfragen verantwortlich. Sie können sich diesen Dienst als Web Server vorstellen, der HTTP Anfragen entgegennimmt, an den NAV Server weiterleitet und das Ergebnis an den Aufrufer zurückgibt. Beide Dienste werden über die Datei „CustomSettings.config“ konfiguriert. Die Datei liegt im Verzeichnis „C:\Program Files (x86)\Microsoft Dynamics NAV\60\Service“. Es ist keine weitere Installation notwendig.

Web Service in Dynamics NAV können entweder auf Basis eines Page-Objektes oder eines Codeunit-Objektes veröffentlich werden. Was ist der Unterschied? Wenn Sie eine Page als Web Service veröffentlichen, bekommen Sie einen Standardsatz von Web Service Methoden, mit denen Sie die Daten der dieser Page zugrundeliegenden Tabelle lesen und bearbeiten können. Wenn Sie eine Codeunit als Web Service veröffentlichen, werden alle nicht-lokalen Funktionen der Codeunit zu Web Service Methoden.

Als Beispiel bauen wir eine einfache List-Page „My Contact Service“ auf Basis der Tabelle „Contact“. Ich habe die Sonderzeichen wie Punkt und Leerzeichen aus den Namen entfernt. Das ist nicht zwingend notwendig. Sonderzeichen werden bei der Veröffentlichung des Web Services automatisch mit dem Unterstrich (_) ersetzt. Alle weiteren Eigenschaften sind Standard.

Für die Veröffentlichung rufen Sie das Formular „Web Services“ auf (Verwaltung – IT Verwaltung – Allgemeine Einrichtung). Wir müssen uns nur einen Servicenamen einfallen lassen und den Haken für Veröffentlichung setzen. Fertig.

Um die Veröffentlichung zu prüfen, öffnen Sie den Internet Explorer und geben die folgende URL ein: http://localhost:7047/DynamicsNAV/WS/services. Achtung: Diese URL ist natürlich nur dann die richtige, wenn Sie die Dynamics NAV Installation mit den Standardeinstellungen durchgeführt haben und Sie den Aufruf auf der Maschine vornehmen, auf der Sie den Dynamics NAV Server installiert haben.

Neben unserem Web Service finden wir in der Übersicht noch den „SystemService“. Dieser Web Service wird standardmäßig veröffentlicht und kennt genau eine Methode „Companies()“, die eine Liste der Mandanten-Namen zurückliefert.

Apropos Methoden. Wie finden wir heraus, welche Methoden unser Web Service veröffentlicht? Einfach die URL unseres Web Service im Internet Explorer eingeben: http://localhost:7047/DynamicsNAV/WS/Page/MyContactService

Der Internet Explorer zeigt die WSDL an: Web Service Description Language. Wenn Sie diese Sprache sprechen, dürfte Ihnen die Darstellung etwas sagen. Falls nicht, auch nicht schlimm. Gängige Entwicklungswerkzeuge mit denen Sie Web Services aufrufen, verbergen die Komplexität bzw. setzen diese in lesbares um.

 

Im zweiten Teil dieses Tutorials zeige ich Ihnen, wie Sie den Web Service mit VB.NET und Visual Studio nutzen.