2010-01-18 4 views
2

Grails 앱에서 GroovyWS를 사용하여 외부 SOAP 서버에 연결하고 있습니다.GroovyWS 디버깅. 실제 생성 된 XML 얻기

유용한 정보없이 오류가 발생하기 때문에 GroovyWS가 생성 한 실제 XML을보고 싶습니다.

나는 wireshark 또는 비슷한 것을 사용할 수 있다는 것을 알고 있지만 실제로는 더 쉬운 방법이 있어야합니다.

개체를 인쇄하면 Java Object @ ... 문자열이 인쇄됩니다.

답변

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

관련 문제