我在Grails应用程序中使用GroovyWS连接到外部SOAP服务器。
我希望看到GroovyWS生成的实际XML,因为我在没有任何有用信息的情况下收到错误。
我知道我可以使用wireshark或类似的东西,但确实应该有一种更简单的方法。
打印对象只打印Java Object @ ... string。
答案 0 :(得分:1)
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"