下载httpclient,把压缩包里lib目录的所有jar放到项目的编译目录里,
通过Post方式调用webservice,代码如下:
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
public class HttpclientSoap {
public static void main(String[] args){
DefaultHttpClient httpClient = new DefaultHttpClient();
String soapRequestData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">" +
"<soap12:Body>" +
" <SetData xmlns=\"http://tempuri.org/\">" +
" <dz>宁波海曙市</dz>" +
" <id>27000</id>" +
" <xx>27000</xx>" +
" <yy>13112</yy>" +
" <bui_id>4209</bui_id>" +
" <mc>天一数码</mc>" +
"</SetData>" +
" </soap12:Body>" +
"</soap12:Envelope>" ;
HttpPost httppost = new HttpPost("http://localhost/Service1.asmx");
/*把Soap请求数据添加到PostMethod*/
//byte[] b = soapRequestData.getBytes("utf-8");
//InputStream is = new ByteArrayInputStream(b,0,b.length);
try {
HttpEntity re = new StringEntity(soapRequestData,HTTP.UTF_8);
httppost.setHeader("Content-Type","application/soap+xml; charset=utf-8");
//httppost.setHeader("Content-Length", String.valueOf(soapRequestData.length()));
httppost.setEntity(re);
HttpResponse response = httpClient.execute(httppost);
System.out.println(EntityUtils.toString(httppost.getEntity()));
System.out.println(response.getStatusLine());
System.out.println(EntityUtils.toString(response.getEntity()));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
}
}
}
分享到:
相关推荐
在本文中,我们将深入探讨如何使用HttpClient调用WebService。 首先,调用WebService通常涉及SOAP(Simple Object Access Protocol)或RESTful API。HttpClient可以处理这两种类型的Web服务。在本示例中,我们假设...
例如,在微服务架构中,服务间通信经常使用HttpClient进行RESTful API调用;在爬虫项目中,HttpClient用于向目标网站发送HTTP请求,获取网页内容。 五、总结 HttpClient 4.1.2作为Java中的HTTP客户端库,以其强大...
### 使用HttpClient调用WebService接口详解 #### 一、概述 在现代软件开发中,Web服务(尤其是WebService)作为实现系统间交互的一种重要手段被广泛采用。WebService提供了通过HTTP协议进行远程过程调用的能力,...
HttpClient 4.1.2是Apache HttpClient的一个稳定版本,它在前一版本的基础上进行了优化和增强,为开发者提供了更加高效、可靠的网络请求处理能力。 HttpClient 4.1.2的核心在于其对HTTP协议的全面支持,包括基本的...
本篇将详细讲解使用HttpClient调用WebService所需的jar包以及它们的功能。 首先,我们来看标题提到的"Httpclient调用WebService所需jar包"。HttpClient是一个灵活且功能丰富的Java库,它允许开发人员执行各种HTTP...
httpclient调用webservice.txt
在Java开发中,HttpClient 4.1.2版本是广泛使用的版本之一,尤其在需要与Web服务器进行交互的应用中,其稳定性和性能得到了广大开发者的一致认可。 HttpClient 4.1.2的核心特性主要体现在以下几个方面: 1. **多...
当 HttpClient 与 Jersey 结合时,开发者可以通过 HttpClient 实现更底层的网络控制,比如设置超时、控制连接池大小等,而 Jersey 负责将这些网络请求转换为 RESTful 服务调用。这种组合使得开发者能更好地控制网络...
- 执行请求并获取响应:调用HttpClient的`execute()`方法发送请求,得到`HttpResponse`对象。 - 处理响应:从`HttpResponse`中获取状态码、头部和实体内容,进行解析和业务逻辑处理。 4. 实例应用 - GET请求示例...
本示例将深入探讨如何使用Apache HttpClient库在Java环境中调用Web服务,特别是通过Maven构建项目的方式进行。HttpClient是一个强大的HTTP客户端编程工具包,能够支持多种HTTP协议特性,使得Web服务调用变得更加灵活...
httpClient 4.1.2 API chm格式
总的来说,HttpClient 4.1.2提供了全面的HTTP通信能力,适用于各种Java应用,无论是简单的Web抓取,还是复杂的RESTful API调用,都能找到合适的解决方案。通过阅读提供的教程文档,开发者可以深入理解HttpClient的...
ETL KETTLE 中利用Httpclient 调用webservice接口获取XML数据,并解析XML 数据。 完整的KTR实例
HttpClient4.1.2 和 HtmlUnit2.9 是在Java编程中处理网络请求和网页解析的两个重要库。这篇博客文章可能详细介绍了如何利用这两个库来实现文件的下载功能。 HttpClient 是Apache基金会的一个项目,提供了丰富的HTTP...
如果WebService使用SOAP协议,你需要构造SOAP请求消息并设置适当的HTTP头。SOAP消息通常包含一个XML结构,包括SOAP Envelope、Header和Body。使用如SAAJ(SOAP with Attachments API for Java)库可以更方便地处理...
动态调用Web Service是编程中一个关键的概念,它允许程序在运行时根据需要选择和调用不同的Web Service,而不是在编译时就固定下来。这种灵活性对于构建可扩展和可维护的系统至关重要。 Web Service通常基于SOAP...
本文将详细介绍如何使用HttpClient和XFire这两种不同的库来调用Web Service,特别是针对短信接口的调用。 首先,让我们了解Web Service的基本概念。Web Service是一种基于互联网的、平台无关的交互方式,它允许不同...
本文将详细介绍如何使用`HttpClient`来调用Web API接口。 #### 二、HttpClient简介 `HttpClient`是一个被广泛使用的类,用于发起HTTP请求并接收响应。它在.NET框架中得到了很好的支持和封装。与其他语言如Java或...
在实际开发中,HttpClient 4.1.2 可以广泛应用于网页抓取、API 调用、文件上传下载等场景,其稳定性和灵活性使其成为 Java 开发者处理 HTTP 请求的首选工具之一。尽管随着技术的发展,后续版本可能增加了更多特性,...