Как вызвать веб-сервис из скрипта Ant или из Jenkins? - PullRequest
6 голосов
/ 29 ноября 2011

Я использую Ant Script в Jenkins для управления развертыванием моих файлов. Что я хочу сделать, это вызвать звонок на URL, который имеет веб-сервис. У меня вопрос, как я могу сделать это из Ant Script или из Jenkins?

Спасибо заранее, Monte

Ответы [ 4 ]

22 голосов
/ 30 ноября 2011

Вариант 1: задача "get"

Ant * задача get может использоваться для вызова веб-служб, но она ограничена операциями GET.Работает только для очень простых веб-сервисов

Вариант 2: curl

Вызов команды unix curl для вызова веб-службы (см. Примеры post )

<target name="invoke-webservice">
    <exec executable="curl">
        <arg line="-d 'param1=value1&param2=value2' http://example.com/resource.cgi"/>
    </exec>
</target>

Примечание:

Команда curl также может быть вызвана как действие после сборки в Jenkins

Вариант 3. Задача Groovy ANT

Если вам требуется межплатформенное и гибкое решение, встроите скрипт groovy в свою сборку для вызова веб-службы.

<target name="invoke-webservice">
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

    <groovy>
        import static groovyx.net.http.ContentType.JSON
        import groovyx.net.http.RESTClient

        def client = new RESTClient("http://localhost:5498/")
        def response = client.put(path: "parking_tickets",
                                  requestContentType: JSON, 
                                  contentType: JSON)

        log.info "response status: ${response.status}"
    </groovy>
</target>

Вариант 4: Groovy Jenkins после сборки

Используйте плагин Groovy Postbuild для вызова веб-службы.

Опция 5: Задача ANT HTTP

Задача ANT HTTP альтернатива Groovy задачи выше

0 голосов
/ 09 октября 2012

Взгляните на Groovy-wslite .Страницу проекта можно найти здесь .Работает как шарм, легко интегрируется и интуитивно понятен в использовании.У меня была похожая проблема сегодня и я добавил пример кода в мой вопрос / ответ: Axis2 с complexTypes в Groovy

0 голосов
/ 18 июля 2012

Связанный с вопросом - как позвонить в WebServices из Ant.В моем случае Муравьед помог правильно позвонить и получить ответ от полусложного случая.http://aft.sourceforge.net/index.html

<soapRequest>

Задача, на которую вы, возможно, захотите взглянуть.

0 голосов
/ 29 ноября 2011

Вы можете:

  1. Реализация клиента WebService с Java (например, Netbeans может сгенерировать его за считанные секунды).
  2. Загрузите банку клиента в Subversion, куда можно получить доступ из Jenkins.
  3. Выполнить клиент из ANT.
     <target name="run">
          <java jar="ws_client/WSClient.jar"/>
     </target> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...