2

我在 Grails 应用程序中使用 GroovyWS 连接到外部 SOAP 服务器。

我想看看 GroovyWS 生成的实际 XML,因为我在没有任何有用信息的情况下遇到错误。

我知道我可以使用 wireshark 或类似的东西,但确实应该有更简单的方法。

打印对象只打印 Java Object@... 字符串。

4

1 回答 1

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"

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

于 2012-11-10T12:20:08.963 回答