我在Jenkins中使用Ant脚本来处理文件的部署。我想要做的是触发对具有Web服务的URL的调用。我的问题是,我怎么能从Ant Script或Jenkins中做到这一点?
提前致谢, 蒙
答案 0 :(得分:22)
Ant get task可用于调用Web服务,但它仅限于GET操作。仅适用于非常简单的Web服务
调用unix curl 命令来调用webservice(有关示例,请参阅此post)
<target name="invoke-webservice">
<exec executable="curl">
<arg line="-d 'param1=value1¶m2=value2' http://example.com/resource.cgi"/>
</exec>
</target>
注意:强>
curl 命令也可以在Jenkins中作为后期构建操作调用
如果您需要跨平台且灵活的解决方案,请在构建中嵌入groovy脚本以调用Web服务。
<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>
使用Groovy Postbuild plugin调用Web服务。
ANT HTTP task是上面
答案 1 :(得分:0)
你可以:
<target name="run"> <java jar="ws_client/WSClient.jar"/> </target>
答案 2 :(得分:0)
与问题相关 - 如何从Ant调用WebServices。 在我的情况下,食蚁兽帮助正确调用并接收来自半复杂案例的响应。 http://aft.sourceforge.net/index.html
<soapRequest>
您可能想要查看的任务。
答案 3 :(得分:0)
看看 Groovy-wslite 。可以找到项目页面here。像魅力一样,易于集成和直观使用。我今天遇到了类似的问题,并在我的问题/答案中添加了一些示例代码:Axis2 with complexTypes in Groovy