Inhalt der Tabelle ANW zur Verfügung stellen

Aufgabe

Der Webservice sollte die Zeilen der Tabelle ANW zurückgeben, hier konkret die ID, Name und Vorname.
Eine Methode sollte alle Zeilen zurückgeben, die zweite Methode nur die konkrete Anrede.

Lösung

Sicherstellen, dass Webservices erlaubt sind

  1. Management Console linkes Menü ➟ System ➟ CMDB-Cores anklicken
  2. Beim Knoten "Webservices aktiviert" sollte "ja" stehen
  3. Wenn nicht:
    1. Doppelklick
    2. Reiter Background Services ➟ Webservices ➟ Starten ➟ ankreuzen
    3. Speichern
    4. CMDB-Core neu starten

Webservice mit einer Methode anlegen

  1. Management Console linkes Menü ➟ System ➟ Background-Services ➟ Webservices anklicken
  2. Rechte Maustaste ➟ neu
  3. Reiter Allgemein wie folgt konfigurieren:
    Aktiv angekreuzt
    Name Anwender
    Base Address Relativ: Anwender (muss NICHT identisch mit dem Namen sein)
    Class Name Anwender
    Binding Class WSHttpBinding
    HTTP-Get erlaubt angekreutzt
Zum Reiter Code wechseln und:
  1. Unten Button "Method (T-SQL) hinzufügen" anklicken
  2. Name auf "Alle" setzen
  3. Rückgabewert auf "Ad hoc Data Contract (Liste)" setzen
  4. Button "Konfigurieren" NOCH NICHT anklicken
  5. SQL definieren:
    select ANW_ID as [Id], ANW_Name1 as [Vorname], ANW_Name2 as [Name] from ANW
    
  6. Button "Konfigurieren" anklicken
  7. Die nächsten zwei Fragen mit "ja" bestätigen - die Attributliste wird dadurch automatisch erstellt
  8. Name kann leer bleiben
  9. Button "OK" anklicken (Maske "Konfigurieren")
  10. Nochmal Button "OK" anklicken (Maske "Webservice-Method (T-SQL)")
  11. Button Speichern anklicken (Maske "Webservice")
Die Webservice ist damit angelegt und kann getestet werden.

Testen (hier konkret über Applikation WcfTestClient.exe)

  1. Liste des Webservices ➟ "Anwender" ➟ rechte Maustaste ➟ "URL kopieren"
  2. WcfTestClient.exe starten
  3. Add Service ➟ URL Link aus Zwischenablage einfügen (d.h. endet mit "/Anwender")
  4. OK anklicken
  5. Ergebnis
  6. Doppelklick auf "Alle" und rechts Button "Invoke" anklicken
  7. Ergebnis

Parametrisierte Methode hinzufügen

  1. Aus der Liste der Webservices den Webservice "Anwender" für die Bearbeitung öffnen
  2. Reiter Code
  3. Unten Button "Method (T-SQL) hinzufügen" anklicken
  4. Name auf "NachAnrede" setzen
  5. Rechts in der Parameterliste "Hinzufügen" anklicken
  6. "Name" auf "Anrede", Typ auf "string" setzen und OK anklicken
  7. Rückgabewert auf "Ad hoc Data Contract (Liste)" setzen
  8. Button "Konfigurieren" NOCH NICHT anklicken
  9. SQL definieren:
    select ANW_ID as [Id], ANW_Name1 as [Vorname], ANW_Name2 as [Name] 
    from ANW
    where ANW_Anrede = @anrede    
    
  10. Button "Konfigurieren" anklicken
  11. Die nächsten zwei Fragen mit "ja" bestätigen und bei "Parameter anrede" das "F" angeben - die Attributliste wird dadurch automatisch erstellt
  12. Name kann leer bleiben
  13. Button "OK" anklicken (Maske "Konfigurieren")
  14. Nochmal Button "OK" anklicken (Maske "Webservice-Method (T-SQL)")
  15. Button Speichern anklicken (Maske "Webservice")

Testen

  1. In der WcfTestClient.exe den Webservice refreshen
  2. Ergebnis
  3. Doppelklick auf "NachAnrede" und rechts Button "Invoke" anklicken
  4. In der Request-Liste den Parameter "anrede" auf "H" setzen und Button "Invoke" anklicken
  5. Ergebnis