Im Folgenden wird die Vorgehensweise zum Einbinden von Webdiensten beschrieben, die über den SOG ERPSrv zur Verfügung gestellt werden. Diese Beschreibung beschränkt sich dabei auf die typische Vorgehensweise zur Erzeugung einer Proxyklasse in der .NET-Programmiersprache "CSharp".
Benötigt werden folgene Programme:
Webservice Description Language Tool (wsdl.exe)
Das Programm ist Bestandteil des ".NET-Framework SDK" und erzeugt aus der WSDL-Beschreibung eines Webdienstes eine CSharp-Klasse.
Erstellung einer CSharp-Proxyklasse
Zu jedem über den SOG ERPSrv verfügbaren Webdienst existiert eine WSDL-Beschreibung, die nach folgendem Schema abgerufen werden kann:
http://(IP-Adresse):(Port)/(Webdienst-Name).wsdl
Zur Erzeugung einer CSharp-Proxyklasse wird das Programm wsdl.exe mit der URL zur WSDL-Beschreibung als Parameter aufgerufen.
Beispiel:
wsdl http://127.0.0.1:4401/Vorgang.wsdl
Dieses Beispiel erzeugt eine Datei "VorgangService.cs" im Verzeichnis, in dem das WSDL-Tool aufgerufen wurde. Diese Datei enthält nun alle nötigen Klassen und Strukturen, die zur Kommunikation mit dem Webdienst "Vorgang" benötigt werden und kann in eine beliebige CSharp-Anwendung integriert werden.
Alternativ zum Aufruf der WSDL-Beschreibung auf dem Webserver kann auch eine vorher abgerufene WSDL-Datei zur Erzeugung der CSharp-Klassen verwendet werden.
Erstellung einer CSharp-Anwendung
Die vorher erzeugte Quellcodedatei "VacosService.cs" kann nun in eine CSharp-Anwendung integriert werden.
Beispiel:
using System;
using System.Collections.Generic;
using System.Text;
namespace WebdienstTest
{
class Program
{
static void Main(string[ ] args)
{
VorgangService service1 = new VorgangService();
Vorgang[ ] auskunft = service1.GetVorgang(1, 12346, 0, "Alle");
}
}
}
In diesem Beispiel wird ein Objekt vom Typ "VorgangService" instanziiert, deren Methode "GetVorgang" beim Aufruf eine Anfrage an den Webdienst "Vorgang" stellt und die Antwort in der Variablen "auskunft" zurückliefert. Die Antwort des Webdienstes wird dabei in Form eines Array vom Typ "Vorgang" zurückgeliefert.
Webservice Description Language Tool (Externer Link)