Читать книгу Web Services mit Apache CXF - Axel Eberhard Leistner - Страница 7
WSDL: Gästebuch-Service-Schnittstelle erstellen
ОглавлениеIm XML-Ordner erstellen wir eine neue WSDL. Wählen Sie im Menü des XML-Ordners die Kombination New -> Other... -> Web Services -> WSDL File
. Klicken Sie auf den Schalter Next
(Abbildung 33). Geben Sie der WSDL-Datei den Namen GuestBook.wsdl
(Abbildung 34).
Abbildung 33: WSDL-Datei anlegen
Klicken Sie auf Next
(Abbildung 34).
Ändern Sie den Target Namespace zu
Alle anderen Einstellungen bleiben unverändert. Klicken Sie auf Finish
.
Abbildung 34: Name der WSDL-Datei festlegen
Abbildung 35: Target Namespace angeben
Führen Sie auf den Port einen Rechtsklick aus und danach wählen Sie Show properties
. Dadurch öffnen Sie die Properties-View (Abbildung 36). Die Port-Adresse des Service ändern Sie auf
(Abbildung 37). Unter dieser URL kann der Service später angesprochen werden.
Abbildung 36: Eigenschaften-Sicht öffnen
Abbildung 37: Port-Adresse ändern
Die Operationen getEntries
und insertEntry
stellen Sie mit einem Rechtsklick auf den portType
GuestBook (Abbildung 38) und durch Verwendung von Add Operation
bzw. durch Umbenennen der vorhandenen Operation dar.
Abbildung 38: Service-Operationen definieren
Entfernen Sie zur Operation insertEntry
die Output-Nachricht. Dazu klicken Sie zunächst auf den Pfeil rechts zum dem Eintrag output
(Abbildung 39).
Abbildung 39: Eintrag output von insertEntry auswählen durch Klick auf Pfeil
Löschen Sie insertEntryResponseType
und insertEntryResponse
durch Klick auf den Schalter Delete
(Abbildung 40 und Abbildung 41).
Abbildung 40: Eintrag insertEntryResponseType löschen
Abbildung 41: Eintrag insertEntryResponse löschen
Speichern Sie jetzt die Änderungen. Schließen Sie danach den Inline Schema Editor
. Löschen Sie nun den Eintrag output
im GuestBook-Schema durch Klick auf den Schalter Delete
(Abbildung 42).
Abbildung 42: Eintrag output löschen
Nun öffnen wir über die Output-Nachricht der Operation getEntries
des getEntriesResponse
-Elements den Inline Schema Editor
. Klicken Sie dazu auf den Pfeil rechts zur Operation (Abbildung 43).
Abbildung 43: Wechsel zum Inline Schema Editor
Suchen Sie in der Design-Übersicht den GuestBookType
-Schema-Typ aus unserer XSD, indem Sie auf die Kombination Set Type -> Browse...
klicken (Abbildung 44). Klicken Sie auf den Schalter Enclosing Project
, damit im gesamten Projekt nach den passenden Schema-Definitionen gesucht wird (Abbildung 45). Damit wird sofort unser Gästebuch-Typ aus unserer XSD-Datei gefunden. Aktivieren Sie diesen Typ mit Klick auf den Schalter OK
. Nun speichern wir unsere Änderungen und schließen den Inline-Editor.
Abbildung 44: GuestBook-Schema-Typ suchen
Abbildung 45: Gästebuch-Typ aus der XSD auswählen
Damit haben wir den Typ des getEntriesResponse auf den Wert GuestBookType aus unserer XSD gesetzt.
Abbildung 46: Geänderter GuestBookType
Wechseln Sie wieder zum Inline Schema Editor
. Nun bearbeiten Sie das Element insertEntry
der Input-Nachricht zur Operation insertEntry
. Aktivieren Sie den GuestBookEntryType
(Abbildung 47).
Abbildung 47: Gästebucheintrag-Typ aus der XSD auswählen
Speichern Sie jetzt wieder die Änderungen und schließen Sie danach den Inline Schema Editor
.
Abbildung 48: Zurück aus dem Editor
Wechseln Sie zum Inline Schema Editor
des Elements getEntries
und löschen Sie den getEntriesType
(Abbildung 49).
Abbildung 49: getEntriesType löschen
Im Source-Fenster löschen Sie den wsdl-message Eintrag „insertEntryResponse“ (Abbildung 50).
Abbildung 50: wsdl-message "insertEntryResponse" löschen
Aktualisieren Sie das Binding mit Rechtsklick auf das zugehörige Symbol und wählen Sie Generate Binding Content...
aus (Abbildung 51). Dort wählen Sie nun Overwrite existing binding information
und klicken anschließend auf den Schalter Finish
(Abbildung 52).
Abbildung 51: Binding-Content erzeugen
Abbildung 52: Bestehende Binding-Informationen sollen überschrieben werden
Damit ist die Schnittstelle definiert: