SOG-Helpcenter Logo SOG Business - Software

Erstellung eines Webdienst-Proxy für SOG ERP-Webdienste


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".

Voraussetzungen


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.

Weiterführende Informationen


Webservice Description Language Tool (Externer Link)