Vielen Dank Bill.
Ich möchte nur einige Informationen für zukünftige Leser hinzufügen.
Um die Protokollierung für GroovyWS in Grails zu aktivieren:
%Vor%Mit diesem wie erwähnt Bill können Sie die Namen der Klassen sehen.
Eine weitere Sache: parameters
kann einen anderen Typ haben. Nicht List<?>
. Deshalb sollte es auch erstellt werden.
Um verfügbare Methoden und Felder für neu erstellte Objekte abzurufen, können Sie Groovy reflection verwenden:
%Vor% Das ist alles!
-vova
GroovyWS erstellt dynamisch Klassen für jeden der Argumenttypen, die Sie benötigen, um Daten an den Web-Service-Aufruf zu übergeben. Zum Beispiel, wenn der Webservice-Aufruf war:
%Vor%GroovyWS erstellt dynamisch eine Arg1Type-Klasse und eine Arg2Type-Klasse, auf die Sie über eine Methode auf dem Proxy zugreifen können.
%Vor%Sie können dann die arg1 / arg2-Instanz mit Daten füllen und Ihren Anruf tätigen:
%Vor%Beachten Sie, dass wahrscheinlich einige Namespaces in den Klassen enthalten sind, die erstellt werden. Ich benutzte die CXF-Protokollierung, die gedruckt wurde, während GroovyWS die WSDL verarbeitete, um zu sehen, was CXF dachte, dass die Klassennamen tatsächlich sein sollten.
Danke! Ich habe GroovyWS mit einem wirklich komplexen Webservice arbeiten lassen!
Meine Schritte: Ich habe debug aktiviert, um die root-Klasse zu erhalten, dann habe ich den Reflection-Code benutzt, um innere Klassen zu bekommen, und setze weiter Eigenschaften und überprüfe, ob es eine string oder list ist.
Und voilá!
%Vor%Tags und Links grails web-services groovy groovyws