【问题标题】:Grails - No class def found error when calling web serviceGrails - 调用 Web 服务时未找到类定义错误
【发布时间】:2011-02-24 13:45:28
【问题描述】:

更新以反映更改后的新错误消息

您好,我正在尝试从 Grails 调用 Web 服务,但一直遇到错误。

这是我的班级的样子:

import groovyx.net.ws.WSClient

...

    def serviceUrl = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL"
    def proxy = new WSClient(serviceUrl.toString(), this.class.classLoader)
    serviceResult = proxy.FahrenheitToCelsius("80")
    println serviceResult

...

我遇到了 grails 运行时异常:

错误 500:执行控制器 [myPackage.myController] 的操作 [index] 导致异常:java.lang.NoClassDefFoundError: org/apache/cxf/endpoint/Client

一直在尝试排除故障,但找不到任何有用的资源。任何有关如何补救的帮助或建议将不胜感激。

谢谢。

【问题讨论】:

    标签: web-services grails groovy groovyws


    【解决方案1】:

    您错过了 new 运算符,它看起来像:

    def proxy = new WSClient(serviceUrl.toString(), this.class.classLoader)
    

    【讨论】:

    • 我的大疏忽,哈哈...但是现在存在一个新错误:错误 500:执行控制器 [myPackage.myController] 的操作 [index] 导致异常:java.lang.NoClassDefFoundError: org/ apache/cxf/endpoint/客户端
    • 看起来您缺少依赖项...您如何在类路径中获取所需的库?使用 @Grab 就像文档中所说的那样对我有用...groovy.codehaus.org/GroovyWS
    • 如果我包含 @Grab 行,则在尝试运行 grails 应用程序时出现“错误抓取葡萄”运行时异常。说 org.codehaus.groovy.modules#groovyws;0.5.2:找不到。我已经将 groovyws-0.5.2.jar 放入了我的 lib 文件中,并且我认为它正在被导入,但我会尝试对 @grab 大惊小怪,看看我是否可以让它工作。
    • 仅将单个 jar 放入 lib 是不够的...它有一些依赖项:mvnrepository.com/artifact/org.codehaus.groovy.modules/groovyws/…(其中 26 个)
    • 感谢 Tim... 能够找到我需要的所有依赖项,现在调用正常!
    猜你喜欢
    • 1970-01-01
    • 2013-06-27
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    相关资源
    最近更新 更多