невозможно получить org.grails.plugins.wsclient.service.WebService в src / groovy? - PullRequest
0 голосов
/ 02 февраля 2012

Я пытаюсь создать класс веб-сервиса в src / groovy, но он выдает ошибку и жалуется, что веб-сервис не найден.Пожалуйста, помогите, почему я не вхожу в src / groovy.

import org.apache.cxf.transport.http.HTTPConduit
import org.grails.plugins.wsclient.service.WebService
class ConnectWebservice {
WebService webService   ///it complains that not found.

def static wsHandleMap = [:]
def static handle

 static def getProxy =  {url->
           def wsdlURL = url+"?wsdl"
        def proxy = webService.getClient(wsdlURL)  ////not get webService
        proxy?.initialize()

        proxy.metaClass.getCxfClient = { ->
            delegate.client
        }

        // get client instance
        def cxfClient = proxy.cxfClient
        // create new endpoint url
        URL newUrl = new URL(url)
        // assign new created url to the client
        cxfClient.getConduit().getTarget().getAddress().setValue(newUrl.toExternalForm());
        //Extra: to set timeout, use:
        proxy.client.conduit.clientSidePolicy.setReceiveTimeout(999)
        proxy.client.conduit.clientSidePolicy.setConnectionTimeout(999)

        //println proxy

        return proxy

}

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Так что это внутри src/groovy?

Сервисы не внедряются в файлы, найденные в src/groovy по умолчанию.

Чтобы это работало, вам следует рассмотреть возможность сделать этот класс Service (самый простой маршрут, если это возможно), иначе вам нужно зарегистрировать класс в качестве Spring-компонента для того, чтобы необходимые сервисы и классы вводились

PS: Вы установили плагин WSClient, верно?

0 голосов
/ 08 апреля 2014

у меня получилось. Поменял строку -

def proxy = webService.getClient(wsdlURL) 

TO

def proxy = new WSClient(wsdlURL,this.class.classLoader)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...