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
- Management Console linkes Menü ➟ System ➟ CMDB-Cores anklicken
- Beim Knoten "Webservices aktiviert" sollte "ja" stehen
- Wenn nicht:
- Doppelklick
- Reiter Background Services ➟ Webservices ➟ Starten ➟ ankreuzen
- Speichern
- CMDB-Core neu starten
Webservice mit einer Methode anlegen
- Management Console linkes Menü ➟ System ➟ Background-Services ➟ Webservices anklicken
- Rechte Maustaste ➟ neu
- 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:
- Unten Button "Method (T-SQL) hinzufügen" anklicken
- Name auf "Alle" setzen
- Rückgabewert auf "Ad hoc Data Contract (Liste)" setzen
- Button "Konfigurieren" NOCH NICHT anklicken
- SQL definieren:
select ANW_ID as [Id], ANW_Name1 as [Vorname], ANW_Name2 as [Name] from ANW
- Button "Konfigurieren" anklicken
- Die nächsten zwei Fragen mit "ja" bestätigen - die Attributliste wird dadurch automatisch erstellt
- Name kann leer bleiben
- Button "OK" anklicken (Maske "Konfigurieren")
- Nochmal Button "OK" anklicken (Maske "Webservice-Method (T-SQL)")
- Button Speichern anklicken (Maske "Webservice")
Die Webservice ist damit angelegt und kann getestet werden.
Testen (hier konkret über Applikation WcfTestClient.exe)
- Liste des Webservices ➟ "Anwender" ➟ rechte Maustaste ➟ "URL kopieren"
- WcfTestClient.exe starten
- Add Service ➟ URL Link aus Zwischenablage einfügen (d.h. endet mit "/Anwender")
- OK anklicken
- Ergebnis
- Doppelklick auf "Alle" und rechts Button "Invoke" anklicken
- Ergebnis
Parametrisierte Methode hinzufügen
- Aus der Liste der Webservices den Webservice "Anwender" für die Bearbeitung öffnen
- Reiter Code
- Unten Button "Method (T-SQL) hinzufügen" anklicken
- Name auf "NachAnrede" setzen
- Rechts in der Parameterliste "Hinzufügen" anklicken
- "Name" auf "Anrede", Typ auf "string" setzen und OK anklicken
- Rückgabewert auf "Ad hoc Data Contract (Liste)" setzen
- Button "Konfigurieren" NOCH NICHT anklicken
- SQL definieren:
select ANW_ID as [Id], ANW_Name1 as [Vorname], ANW_Name2 as [Name]
from ANW
where ANW_Anrede = @anrede
- Button "Konfigurieren" anklicken
- Die nächsten zwei Fragen mit "ja" bestätigen und bei "Parameter anrede" das "F" angeben - die Attributliste wird dadurch automatisch erstellt
- Name kann leer bleiben
- Button "OK" anklicken (Maske "Konfigurieren")
- Nochmal Button "OK" anklicken (Maske "Webservice-Method (T-SQL)")
- Button Speichern anklicken (Maske "Webservice")
Testen
- In der WcfTestClient.exe den Webservice refreshen
- Ergebnis
- Doppelklick auf "NachAnrede" und rechts Button "Invoke" anklicken
- In der Request-Liste den Parameter "anrede" auf "H" setzen und Button "Invoke" anklicken
- Ergebnis