2010-01-18 6 views
2

J'utilise GroovyWS dans une application Grails pour me connecter à un serveur SOAP externe. Je voudrais voir le XML réel qui est généré par GroovyWS depuis que je reçois des erreurs sans aucune information utile. Je sais que je peux utiliser wireshark ou quelque chose de similaire, mais il devrait y avoir un moyen plus facile.Mise au point de GroovyWS. Obtenir le code XML généré

L'impression de l'objet imprime simplement la chaîne Java Object @ ....

Répondre

1

GroovyWS utilise Apache CXF en interne, vous devriez donc pouvoir utiliser ses intercepteurs de journalisation pour faire l'affaire. Couper et coller l'exemple de la température des GroovyWS docs, les impressions de script de test suivant les requêtes et les réponses des messages SOAP:

@Grab(group='org.codehaus.groovy.modules', module='groovyws', version='0.5.2') 
import groovyx.net.ws.WSClient 

import org.apache.cxf.interceptor.LoggingInInterceptor 
import org.apache.cxf.interceptor.LoggingOutInterceptor 

proxy = new WSClient("http://www.w3schools.com/webservices/tempconvert.asmx?WSDL", this.class.classLoader) 
proxy.initialize() 

println proxy.client.outInterceptors.add(new LoggingOutInterceptor()) 
println proxy.client.inInterceptors.add(new LoggingInInterceptor()) 
result = proxy.CelsiusToFahrenheit(0) 
println "You are probably freezing at ${result} degrees Farhenheit" 

Voir http://cxf.apache.org/docs/debugging-and-logging.html