Отладка GroovyWS. Получить фактический сгенерированный XML - PullRequest
2 голосов
/ 18 января 2010

Я использую GroovyWS в приложении Grails для подключения к внешнему серверу SOAP.

Я хотел бы увидеть фактический XML, сгенерированный GroovyWS, поскольку я получаю ошибки без какой-либо полезной информации.

Я знаю, что могу использовать wireshark или что-то подобное, но действительно должен быть более простой способ.

При печати объекта просто печатается строка Java Object @ ....

1 Ответ

1 голос
/ 10 ноября 2012

GroovyWS использует Apache CXF для внутреннего использования, поэтому вы должны иметь возможность использовать его перехватчики для ведения журнала. Вырезая и вставляя пример температуры из документов GroovyWS, следующий тестовый скрипт печатает 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"

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

...