Читать книгу 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:



Web Services mit Apache CXF

Подняться наверх