/**
*封装ECM入参参数
* @return
*/
public static String getEcmToken() {
// TODO Auto-generated method stub
//调取ECM获取token接口的入参参数
JSONObject jo = new JSONObject();
// jo.put("userName", ecmUser);
// jo.put("password", ecmPassword);
jo.put("loginName", ecmUserName);
jo.put("ipAddress", ecmIpAddress);
jo.put("integrationKey", ecmPassword);
// jo.put("clientType", "");
// jo.put("userHostAddress", "");
// jo.put("validateCodeSms", "");
// jo.put("secure", false);
String vRes = jo.toString();
logger.info("封装ECM获取token的入参参数:"+ vRes);
vRes = post(jo.toString());
logger.info("OA获取ECM反馈结果:"+ vRes);
JSONObject ecmData = JSON.parseObject(vRes);
String ecmToken = ecmData.getString("data");
return ecmToken;
}
/**
* OA获取ECM的token
* @param vJson
* @return
*/
private static String post(String vJson) {
String result = "";
String url = ecm_url + "/api/services/Org/UserLoginIntegrationByUserLoginName";
HttpPost httpPost = new HttpPost(url);
// CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpClient client =wrapClient(url);
StringEntity entity = new StringEntity(vJson, "UTF-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
httpPost.setEntity((HttpEntity)entity);
try {
CloseableHttpResponse closeableHttpResponse = client.execute((HttpUriRequest)httpPost);
if (closeableHttpResponse.getStatusLine().getStatusCode() == 200)
result = EntityUtils.toString(closeableHttpResponse.getEntity(), "UTF-8");
logger.info("OA获取ECM返回参数:"+ result);
} catch (IOException e) {
logger.error("发送反馈信息给ECM错误===2===", e);
}
return result;
}
private static CloseableHttpClient wrapClient(String url) {
// TODO Auto-generated method stub
CloseableHttpClient httpClient = new DefaultHttpClient();
if (url.startsWith("https://")) {
sslClient(httpClient);
}
return httpClient;
}
private static void sslClient(CloseableHttpClient httpClient) {
// TODO Auto-generated method stub
try {
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] xcs, String str) {
}
public void checkServerTrusted(X509Certificate[] xcs, String str) {
}
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
};
ctx.init(null, new TrustManager[] { tm }, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx);
ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = httpClient.getConnectionManager();
SchemeRegistry registry = ccm.getSchemeRegistry();
registry.register(new Scheme("https", 443, ssf));
} catch (KeyManagementException ex) {
throw new RuntimeException(ex);
} catch (NoSuchAlgorithmException ex) {
throw new RuntimeException(ex);
}
}