2

私は現在、既存の Web サービス API に対して安らかなサービス呼び出しを行う Web アプリを開発しています。

私が持っているのは、ベース URL と API 名です。

作業を開始するにはどうすればよいですか?私が持っているベース URL に httpbuilder を使用し、その後に /api 名を使用する必要があると思います。しかし、それが機能している場合、どうすればgrailsでテストできますか?

ブラウザーにベース URL を貼り付けると、いくつかの xml 情報が返されるため、代わりに grails でそれを行う必要があります。

ブラウザから URL を貼り付けたときの XML 応答

<ns1:createNewUserResponse>
<userId>21</userId>
</ns1:createNewUserResponse>

したがって、ブラウザーに貼り付けるのではなく、Web アプリ (grails) を介してこの応答を取得できるようにする必要があります。

編集*これは私が役に立つと思った良い例です

@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.0-RC2' )
import groovyx.net.http.*
import static groovyx.net.http.ContentType.*
import static groovyx.net.http.Method.*

def http = new HTTPBuilder( 'http://ajax.googleapis.com' )

// perform a GET request, expecting JSON response data
http.request( GET, JSON ) {
  uri.path = '/ajax/services/search/web'
  uri.query = [ v:'1.0', q: 'Calvin and Hobbes' ]

  headers.'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'

  // response handler for a success response code:
  response.success = { resp, json ->
    println resp.statusLine

    // parse the JSON response object:
    json.responseData.results.each {
      println "  ${it.titleNoFormatting} : ${it.visibleUrl}"
    }
  }

  // handler for any failure status code:
  response.failure = { resp ->
    println "Unexpected error: ${resp.statusLine.statusCode} : ${resp.statusLine.reasonPhrase}"
  }
}

しかし、クエリの部分がわかりません。必要に応じて変更するにはどうすればよいですか? 私が持っている URL にはユーザー名とパスワードの資格情報が含まれています。応答は、結果から取得する必要がある securityToken を返す必要があります。どんな助けでも大歓迎です!

4

2 に答える 2

0

groovy-wsliteから始めることができます。これは、SOAP と REST の両方の Web サービス クライアントを提供します。

于 2012-11-07T17:55:06.327 に答える
0

resfull サービスを呼び出すには、Groovy HttpBuidler を参照してください - http://groovy.codehaus.org/HTTP+Builder

于 2012-11-09T21:32:43.720 に答える