/**
* Copyright Shanghai COS Software Co., Ltd.
* All right reserved
* Created on 2015
*/
package com.cosw.test.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.Socket;
import java.net.URLEncoder;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
/**
* @FileName: HttpClientHelper.java
* @Description:
* @Company: Shanghai COS Software
* @Copyright: Copyright (c)2015
* @author yangb
* @version 1.0
* @Create: 2015-8-20 上午10:53:20
*
* @Modification History
* @Date Author Version Description
* @----------------------------------------------------
* @2015-8-20 yangb 1.0 create
*/
public class HttpClientUtil {
public static int connectionTimeout = 10 * 1000;
public static int soTimeout = 30 * 1000;
private static HttpClient httpClient;
private HttpClientUtil() {
}
/**
* get请求
*
* @param uri
* @param params
* @return
*/
public static String getRequest(String uri, Map<String, String> params) {
try {
StringBuilder urlBuilder = new StringBuilder();
urlBuilder.append(uri);
if (null != params) {
urlBuilder.append("?");
Iterator<Entry<String, String>> iterator = params.entrySet()
.iterator();
while (iterator.hasNext()) {
Entry<String, String> param = iterator.next();
urlBuilder
.append(URLEncoder.encode(param.getKey(), "UTF-8"))
.append('=')
.append(URLEncoder.encode(param.getValue(), "UTF-8"));
if (iterator.hasNext()) {
urlBuilder.append('&');
}
}
}
// 创建HttpClient对象
HttpClient client = getHttpClient();
// 发送get请求创建HttpGet对象
HttpGet getMethod = new HttpGet(urlBuilder.toString());
HttpResponse response = client.execute(getMethod);
// 获取状态码
int res = response.getStatusLine().getStatusCode();
if (res == 200) {
StringBuilder builder = new StringBuilder();
// 获取响应内容
BufferedReader reader = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()));
for (String s = reader.readLine(); s != null; s = reader
.readLine()) {
builder.append(s);
}
return builder.toString();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* post请求
*
* @param uri
* @param params
* @return
*/
public static String postRequest(String uri, Map<String, ?> params) {
try {
// 创建HttpClient对象
HttpClient client = getHttpClient();
// 发get请求创建HttpGet对象
HttpPost httpPost = makeHttpPost(uri, params);
HttpResponse response = client.execute(httpPost);
int statueCode = response.getStatusLine().getStatusCode();
if (statueCode == 200) {
return EntityUtils.toString(response.getEntity(), "UTF-8"); // 获取响应内容
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String postRequest(String uri, String params)
throws Exception {
try {
// 创建HttpClient对象
HttpClient client = getHttpClient();
// 发get请求创建HttpGet对象
HttpPost httpPost = makeHttpPost(uri, null);
// 添加http头信息 application/json,application/xml
httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
// 接受数据类型
httpPost.addHeader("Accept", "application/json");
// 创建传递参数封装 实体对象
StringEntity se = new StringEntity(params, "UTF-8");
// 创建传递参数封装 实体对象
// 把实体对象存入到httpPost对象中
httpPost.setEntity(se);
HttpResponse response = client.execute(httpPost);
int statueCode = response.getStatusLine().getStatusCode();
if (statueCode == 200) {
return EntityUtils.toString(response.getEntity(), "UTF-8");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
throw e;
} catch (IOException e) {
e.printStackTrace();
throw e;
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return null;
}
@SuppressWarnings("deprecation")
public static synchronized HttpClient getHttpClient() {
if (null == httpClient) { // 初始化工作
try {
KeyStore trustStore = KeyStore.getInstance(KeyStore
.getDefaultType());
trustStore.load(null, null);
SSLSocketFactory sf = new SSLSocketFactoryEx(trustStore);
// 允许所有主机的验证
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
HttpProtocolParams.setUseExpectContinue(params, true);
// 设置连接管理器的超时
ConnManagerParams.setTimeout(params, 5000);
// 设置连接超时
HttpConnectionParams.setConnectionTimeout(params,
connectionTimeout);
// 设置socket超时
HttpConnectionParams.setSoTimeout(params, soTimeout);
// 设置http https支持
SchemeRegistry schReg = new SchemeRegistry();
schReg.register(new Scheme("http", PlainSocketFactory
.getSocketFactory(), 80));
schReg.register(new Scheme("https", sf, 443));
ClientConnectionManager conManager = new ThreadSafeClientConnManager(
params, schReg);
DefaultHttpClient defHttpClient = new DefaultHttpClient(
conManager, params);
// 定义重试策略
DefaultHttpRequestRetryHandler retryhandler = new DefaultHttpRequestRetryHandler(
0, false);
defHttpClient.setHttpRequestRetryHandler(retryhandler);
httpClient = defHttpClient;
} catch (Exception e) {
e.printStackTrace();
return new DefaultHttpClient();
}
}
return httpClient;
}
private static HttpPost makeHttpPost(String url, Map<Stri
没有合适的资源?快使用搜索试试~ 我知道了~
cxf webservice restful实现
共110个文件
jar:76个
class:10个
java:8个
4星 · 超过85%的资源 需积分: 15 35 下载量 176 浏览量
2017-08-08
16:46:33
上传
评论
收藏 33.64MB ZIP 举报
温馨提示
spring整合cxf实现restful的webservice服务,代码分为服务端和客户端两个模块;服务端为接口,客户端为接口调用。
资源推荐
资源详情
资源评论
收起资源包目录
cxf webservice restful实现 (110个子文件)
HttpClientUtil.class 9KB
JuHeUtil.class 6KB
ResfulTest.class 5KB
MobileServiceImpl.class 4KB
MobileService.class 2KB
SSLSocketFactoryEx.class 2KB
MobileAction.class 1KB
Order.class 1KB
SSLSocketFactoryEx$1.class 1KB
Order.class 1KB
.classpath 817B
.classpath 730B
org.eclipse.wst.common.component 566B
org.eclipse.wst.jsdt.ui.superType.container 49B
core-16.jar 17.48MB
xmlbeans-2.6.0.jar 2.6MB
cxf-core-3.1.12.jar 1.31MB
xmlsec-2.0.8.jar 1.08MB
spring-context-4.1.9.RELEASE.jar 1003KB
spring-core-4.1.9.RELEASE.jar 986KB
jackson-databind-2.2.3.jar 846KB
jackson-mapper-lgpl-1.9.7.jar 767KB
spring-webmvc-4.1.4.RELEASE.jar 763KB
jackson-mapper-asl-1.9.13.jar 762KB
httpclient-4.5.1.jar 716KB
spring-web-4.1.9.RELEASE.jar 705KB
spring-beans-4.1.9.RELEASE.jar 696KB
cxf-rt-frontend-jaxrs-3.1.12.jar 619KB
commons-collections-3.2.2.jar 575KB
commons-collections-3.1.jar 546KB
woodstox-core-asl-4.4.1.jar 475KB
jetty-server-9.2.21.v20170120.jar 411KB
wss4j-ws-security-stax-2.1.10.jar 405KB
jetty-util-9.2.21.v20170120.jar 368KB
spring-aop-4.1.9.RELEASE.jar 351KB
jackson-mapper-lgpl-1.2.1.jar 344KB
cxf-rt-transports-http-3.1.12.jar 341KB
cxf-rt-frontend-jaxws-3.1.12.jar 335KB
wss4j-ws-security-dom-2.1.10.jar 327KB
httpcore-4.4.3.jar 319KB
dom4j-1.6.1.jar 307KB
json-lib-2.1-jdk15.jar 293KB
commons-lang-2.6.jar 278KB
commons-codec-1.10.jar 278KB
wss4j-ws-security-common-2.1.10.jar 277KB
commons-lang-2.5.jar 273KB
commons-lang-2.5.jar 273KB
spring-expression-4.1.9.RELEASE.jar 253KB
cxf-rt-databinding-aegis-3.1.12.jar 243KB
jackson-core-lgpl-1.9.7.jar 228KB
jackson-core-asl-1.9.13.jar 227KB
wss4j-policy-2.1.10.jar 215KB
jackson-core-2.2.3 (1).jar 188KB
gson-2.2.4.jar 186KB
commons-beanutils-1.7.0.jar 184KB
wsdl4j-1.6.3.jar 182KB
cxf-rt-bindings-soap-3.1.12.jar 177KB
spring-webmvc-portlet-4.1.4.RELEASE.jar 173KB
xmlschema-core-2.2.2.jar 169KB
cxf-rt-wsdl-3.1.12.jar 168KB
stax2-api-3.1.4.jar 158KB
jackson-core-lgpl-1.2.1.jar 142KB
wss4j-ws-security-policy-stax-2.1.10.jar 129KB
jetty-http-9.2.21.v20170120.jar 124KB
javax.ws.rs-api-2.0.1.jar 113KB
jetty-io-9.2.21.v20170120.jar 106KB
cxf-rt-frontend-simple-3.1.12.jar 102KB
cxf-rt-databinding-jaxb-3.1.12.jar 101KB
cxf-rt-transports-http-jetty-3.1.12.jar 94KB
jetty-security-9.2.21.v20170120.jar 94KB
javax.servlet-api-3.1.0.jar 94KB
xml-resolver-1.2.jar 82KB
ezmorph-1.0.3.jar 76KB
jackson-dataformat-xml-2.2.3.jar 70KB
commons-logging-1.2.jar 60KB
commons-logging-1.1.1.jar 59KB
cxf-rt-databinding-jibx-3.1.12.jar 46KB
cxf-rt-databinding-xmlbeans-3.1.12.jar 45KB
commons-logging.jar 44KB
wss4j-bindings-2.1.10.jar 43KB
slf4j-api-1.7.24.jar 40KB
httpmime-4.5.1.jar 40KB
jackson-annotations-2.2.3.jar 33KB
cxf-rt-databinding-sdo-3.1.12.jar 28KB
jackson-xc-1.9.13.jar 26KB
jackson-module-jaxb-annotations-2.2.3.jar 25KB
jackson-jaxrs-base-2.2.3.jar 20KB
jackson-jaxrs-1.9.13.jar 18KB
jetty-continuation-9.2.21.v20170120.jar 16KB
jackson-jaxrs-xml-provider-2.7.3.jar 13KB
HttpClientUtil.java 10KB
ResfulTest.java 4KB
JuHeUtil.java 4KB
MobileService.java 3KB
MobileServiceImpl.java 3KB
MobileAction.java 782B
Order.java 661B
Order.java 420B
.jsdtscope 503B
queryMobile.jsp 594B
共 110 条
- 1
- 2
资源评论
- 呢喃北上2017-12-25觉得还好吧
- cdandvcd2020-05-08非常好用,解决了大问题
Mrs陶
- 粉丝: 61
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功