Skip to main content

Web Service API

Der Web Service stellt eine direkte Schnittstelle zu SCCM dar und kann von Fremdanwendungen genutzt werden.

Weitere Informationen zur Verwendung der Schnittstelle sind in der API-Referenz unter https://www.smcteam.de/help/sccmmanager/3/api-reference/ zu finden.

Wenn die SOAP-Header-Security eingeschaltet ist, kann der Webservice nur mit einem spezifischen SOAP-Header aufgerufen werden. Dieser wird mittels beiliegender .NET-Klassenbibliothek generiert. Außerdem muss ein passender Token erstellt werden. Im folgenden wird diese Konfiguration anhand eines Beispiels erläutert.

Einbindung in Visual Studio

Dieses Video zeigt die hier beschriebenen Schritte:

Video fehlt: "WebService-API-Anbindung"

  1. Konfiguration in der Konfigurationsdatei „web.config“ des Webservices (alternativ über die Anwendung "SCCM Manager Web Config" auf dem Server, über das Startmenü öffnen):

    soap_header_setting_thumb_480_0.png
    Der „AssemblyName“ ist frei wählbar und wird später im Webservice-Log neben dem aufrufenden Benutzer angezeigt.

  2. Generierung einer zufälligen GUID und Erweiterung der Datei „Tokens.xml“ im Verzeichnis „Ressources“ des Webservices:

    soap_header_token_thumb_480_0.png
  3. Einbinden der Webservicereferenz in Visual Studio:

    WebService-API-03_thumb_480_0.pngWebService-API-04_thumb_480_0.pngWebService-API-05_thumb_480_0.pngWebService-API-06_thumb_480_0.png
  4. Einbinden der Datei „SCCMWebService.Token.dll“ in Visual Studio:

    Die SCCMWebService.Token.dll von Server-Installationspfad\API in das eigene Projektverzeichnis kopieren, dann referenzieren.
    overview-target.png


  5. Instanziierung des Webservices mit dem Soap Header, die übergebene GUID entspricht der zuvor Definierten aus der Datei „Token.xml“: 

    			SCCMWebService.SCCMWebService sccmWebService = new SCCMWebService.SCCMWebService();
    			sccmWebService.Credentials = CredentialCache.DefaultCredentials;
    			sccmWebService.CookieContainer = new CookieContainer();
    
    			string sessionID = sccmWebService.GetSessionID();
    			string token = WebServiceToken.Create(sessionID, "7d9ac659-a113-4ad1-846f-da64ac42ca7f");
    
    			sccmWebService.SCCMSoapHeaderValue = new SCCMSoapHeader();
    			sccmWebService.SCCMSoapHeaderValue.Token = token;
    
    			//Test:
    			ServiceVersion version = sccmWebService.GetVersion();
  6. Der Webservice kann nun benutzt werden.