2012-05-19 26 views
0

我在我的項目的lib文件夾中添加了groovyws-standalone-0.3.1.jar,在我的Grails應用程序上使用了WSClient。 加在我的控制器下面的代碼:Grails無法使用Wsclient使用Web服務

import groovyx.net.ws.WSClient 
.... 
.... 

def wsdlUrl = "url_Of_webservice?wsdl" 
def payLoad = "list_Of_Parameters" 
def result = '' 
def proxy = new WSClient(wsdlUrl , this.class.classLoader) 
try{ 
    proxy.initialize() 
    result = proxy.getallvendorsbyurl(payLoad)      
} 
catch (java.lang.NullPointerException e){ 
     println "proxy not initialize" 
}  

它在本地主機工作正常,但是當我部署它的tomcat6服務器上,它開始拋出異常:

在服務器日誌:

ERROR errors.GrailsExceptionResolver - groovy.lang.GroovyObjectSupport 
java.lang.ClassNotFoundException: groovy.lang.GroovyObjectSupport 

上GSP頁面:

Error 500: Executing action [groupDetails] of controller [com.ongraph.yhd.GroupController] caused exception: java.lang.NoClassDefFoundError: groovy/lang/GroovyObjectSupport 
Servlet: grails 
URI: /grails/group/groupDetails.dispatch 
Exception Message: groovy.lang.GroovyObjectSupport 
Caused by:groovy.lang.GroovyObjectSupport 
Class:GroupController 
At Line: [758] (groupController->line-758->def wsdlUrl = "url_Of_webservice?wsdl") 

我也經歷了下面提到的鏈接,但沒有運氣:(

link to a similar issue

+0

您正在使用哪個grails版本? –

+0

我正在使用grails 1.3.4 – Wasim

+1

我認爲你需要遵循這個:http://groovy.codehaus.org/Using+WSClient+in+Grails,但更重要的是,groovyws是'休眠'。其作者建議您使用https://github.com/jwagenleitner/groovy-wslite –

回答

0

我用Grails的WS-客戶端插件,它的工作就像一個魅力。