Acessar webservice
27/04/2009 00:00
0
Alguém já usou o WSClient para acessar Web Service?
Existe outra maneira de consumir webservice wsdl, algum plugin?
Estive tentando rodar o exemplo que encontrei em: <!-- m --><a class="postlink" href="http://groovy.codehaus.org/Using+WSClient+in+Grails">http://groovy.codehaus.org/Using+WSClient+in+Grails</a><!-- m -->
mas não funciona. Dá o seguinte erro:

org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.InvokerHelper.getInstance()Lorg/codehaus/groovy/runtime/Invoker;

at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)

at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)

at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)

at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)

at groovy.lang.Closure.call(Closure.java:279)

at groovy.lang.Closure.call(Closure.java:274)

at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:363)

at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:243)

at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:203)

at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:138)

at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:88)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:264)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)

at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)

at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)

at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)

at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)

at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)

at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:181)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:171)

at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:110)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:101)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)

Caused by: java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.InvokerHelper.getInstance()Lorg/codehaus/groovy/runtime/Invoker;

at groovyx.net.ws.WSClient.invokeMethod(WSClient.java:59)

at TemperatureController$_closure2.doCall(TemperatureController:9)

at TemperatureController$_closure2.doCall(TemperatureController)
Tags: Groovy


0
Oi,

Precisei uma vez disso, resolvi não usar o GroovyWS como recomendam.
Simplesmente peguei os WSDL, gerei classes em Java para consumi-los como se fosse uma app não-grails e coloquei os fontes gerados na pasta src/java.

Depois os usei diretamente nos arquivos groovy.

[]s,
28/04/2009 00:00


0
[quote=&quot;lucastex&quot;]Oi,

Precisei uma vez disso, resolvi não usar o GroovyWS como recomendam.
Simplesmente peguei os WSDL, gerei classes em Java para consumi-los como se fosse uma app não-grails e coloquei os fontes gerados na pasta src/java.

Depois os usei diretamente nos arquivos groovy.

[]s,[/quote]

Eu também tive problemas em usar o WSClient no Grails e fiz o que o Lucas fez. No meu caso usei o Axis pra gerar os proxys e pronto.

[]'s

Rodrigo Auler
28/04/2009 00:00


0
Perfeito Rodrigo, exatamente isso!

<!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
28/04/2009 00:00


0
Caros colegas.
Consegui resolver o problema. E é bem simples.
Tem que atualizar o arquivo: groovyws-standalone-0.2.0.jar que está na pasta lib do grails pela versão mais nova groovyws-standalone-0.3.0-SNAPSHOT.jar. Que está disponível em <!-- m --><a class="postlink" href="http://docs.codehaus.org/download/attachments/9242181/groovyws-standalone-0.3.0-SNAPSHOT.jar">http://docs.codehaus.org/download/attac ... APSHOT.jar</a><!-- m -->
29/04/2009 00:00


0
Que bacana freu,

Que tal um mini tutorial passo a passo de como fazer isso para disponibilizarmos aqui na comunidade?

[]s,
29/04/2009 00:00


0
Obrigado,
Mas o negócio é bem simples mesmo. É só atualizar o .jar.
Estou tentando desenvolver essa bomba da NFe.E assim que eu conseguir fazer algo, tenho vontade de fazer um tuto sobre como desenvolver ela.
Na verdade acho até que seria legal abrir um tópico aqui no fórum para esse tema.
29/04/2009 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto