Frage

Ich brauche einen Web-App zu implementieren, sondern relationale Datenbank verwendet Ich brauche verschiedenen SOAP Web Service als Back-End zu verwenden. Ein wichtiger Teil der Anwendung ruft nur Web-Service und zeigt das Ergebnis an. Da Web-Service deutlich in Form von Operation definiert ist: In Parametern und Rückgabetyp scheint es mir, dass die grundlegenden GUI leicht wie im Fall von Gerüsten auf Domain Entities Basis aufgebaut werden können.

Zum Beispiel bei SearchProducts Web-Service-Betrieb Ich brauche Suchparameter als Eingabe einzugeben, so dass die Suchseite aufgebaut werden. Der Betrieb wird eine Liste der Produkte zurückgeben, so brauche ich eine Seite, die diese Liste in einer Art Tabelle angezeigt werden.

Gibt es bereits einige Bibliotheken in Grails, dass Sie dies erreichen lassen. Wenn nicht, wie würden Sie gehen über eine erstellen?

War es hilfreich?

Lösung

Es soll möglich sein, verwenden XFire oder CXF Plugins. Für die automatische Gerüste, ändern Sie Ihre Controller.groovy Vorlage in Gerüsten Vorlagen, so dass es Methoden generiert automatisch die Sie benötigen.

Andere Tipps

Wahrscheinlich ist der einfachste Ansatz wsimport auf den WSDL-Dateien zu verwenden, um den Client-seitige Stubs zu erzeugen. Dann können Sie Methoden in den Stubs von Groovy nennen, wie Sie sie von Java genannt hätte.

Betrachten wir zum Beispiel die WSDL-Datei für Microsoft Terraserver, unter http://terraservice.net/ TerraService.asmx? wsdl . Dann führen Sie so etwas wie

wsimport -d src -keep http://terraservice.net/TerraService.asmx?WSDL

, die alle kompilierten Stubs im Verzeichnis src setzt. Dann können Sie Groovy Code wie

schreiben
import com.terraserver_usa.terraserver.*;

TerraServiceSoap sei = new TerraService().getTerraServiceSoap()
Place home = new Place(city:'Boston',state:'MA',country:'US')
def pt = sei.convertPlaceToLonLatPt(home)
println "$pt.lat, $pt.lon"
assert Math.abs(pt.lat - 42.360000) < 0.001
assert Math.abs(pt.lon - -71.05000) < 0.001

Wenn Sie eine Menge von Web-Services zugreifen möchten, erzeugen die Stubs für alle von ihnen. Oder können Sie stattdessen dynamische Proxies verwenden.

Unter dem Strich ist jedoch, Java tun zu lassen, was es schon tut gut, und Groovy verwenden, wo es Ihnen das Leben leichter macht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top