簡體   English   中英

Grails和使用SOAP Web服務

[英]Grails and consume SOAP webservice

作為Grails的新手,我想知道人們在Grails項目中使用什么來使用Web服務。 那么系統的客戶端呢? 有什么建議? 我看到人們使用GroovyWS,Spring-WS等。什么是好用且易於使用?

GroovyWS非常易於使用,並且有很好的文檔,我肯定會推薦它。

在這里使用Grails CXF插件。 需要:

  1. classloader變通方法 - DynamicClientFactoryit更改了當前的類加載器;
  2. 並手動編寫WS調用。

除此之外,消費者代碼相當渺茫。

編輯:對不起,不再是這個,我不確定我還沒破壞和NDA:

#1:

def arrayOfLong = objectFactory.createArrayOfLong(XXX, ids)
result = client.invoke(methodName, arrayOfLong as Object[])

#2:

def dcf = DynamicClientFactory.newInstance()
def classLoader = Thread.currentThread().getContextClassLoader()

// create a WS client
// and assign end point address to it
def client = dcf.createClient(WSDL_URL, classLoader)
client.conduit.target.address.setValue(endpointUrl)

// reacquire classloader because 'createClient' changes it
def changedClassLoader = Thread.currentThread().getContextClassLoader()
def objectFactory = changedClassLoader.
    loadClass(FACTORY_CLASS_NAME).newInstance()

使用Grails 1.3.7我使用WS-Client Grails插件使用自己的Web服務。 它實際上基於GroovyWS,而GroovyWS又使用CXF。 它至少在我的簡單場景中非常容易使用,我只從后端Web服務獲得字符串。 我不知道它如何適用於復雜的數據類型。

我以前從未消費或創建過webservice,但是在前端使用該插件並在后端使用Grails CXF插件我在兩天內在我的grails應用程序之間進行了SOAP討論。 你真的不需要直接使用非常好的ws-client插件使用CXF或GroovyWS。 速度(發展)和簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM