public static voidsendHttpAudit(OAApplicationModule am, String type,
String entityMappingId, String param) {
System.out.println(System.currentTimeMillis());
String oaRestfulServiceUrl= null;//am.getOADBTransaction().getProfile("");
oaRestfulServiceUrl = "http://xxx.xxx.xxx.xxx:8090/api/Service/submitXXX";//RequestConfig requestConfig =//RequestConfig.custom().setConnectTimeout(5000).setConnectionRequestTimeout(1000).setSocketTimeout(5000).build();
RequestConfig requestConfig =RequestConfig.custom().setConnectTimeout(5000).setConnectionRequestTimeout(1000).build();
CloseableHttpClient httpclient= null;
CloseableHttpResponse h_response= null;try{
httpclient=HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();//httpclient = HttpClientBuilder.create().build();
HttpPost postMethod= newHttpPost(oaRestfulServiceUrl);//postMethod.setConfig(requestConfig);
postMethod.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36");
postMethod.setHeader("Referer", oaRestfulServiceUrl);
List params = new ArrayList();//200_ifaceCode 200表示为EBS系统调用RESTFUL服务。
params.add(new BasicNameValuePair("type", type));
params.add(new BasicNameValuePair("param", param));//添加参数
postMethod.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
h_response=httpclient.execute(postMethod);
HttpEntity repEntity=h_response.getEntity();int statusCode =h_response.getStatusLine().getStatusCode();if (statusCode !=HttpStatus.SC_OK) {
postMethod.abort();
procProcessError(am, entityMappingId, String.valueOf(statusCode), EntityUtils.toString(repEntity,"UTF-8") );throw new OAException("HttpClient,error status code :" +statusCode);
}
String content= EntityUtils.toString(repEntity, "UTF-8");
System.out.println(content);
JSONObject json=JSON.parseObject(content);
String retCode= json.getString("returnCode");
String retMsg= json.getString("returnMsg");
procProcessError(am, entityMappingId, retCode, retMsg );if (!"000000".equals(retCode)) {
System.out.println(" error " +retMsg );throw new OAException("接口服务处理异常" +json.getString("returnMsg"));
}else{
changeStatusInprocess(am, entityMappingId);
}
}catch(ConnectTimeoutException e) {
procProcessError(am, entityMappingId,"ConnectTimeoutException", e.getMessage() );
System.out.println(" ConnectTimeoutException " +System.currentTimeMillis());
e.printStackTrace();throw new OAException("接口服务处理异常 ConnectTimeoutException " +e.getMessage());
}catch(SocketTimeoutException e) {
procProcessError(am, entityMappingId,"SocketTimeoutException", e.getMessage() );
System.out.println(" SocketTimeoutException " +System.currentTimeMillis());
e.printStackTrace();throw new OAException("接口服务处理异常 SocketTimeoutException " +e.getMessage());
}catch(Exception e) {
procProcessError(am, entityMappingId,"Exception", e.getMessage() );
System.out.println("Exception " +System.currentTimeMillis());
e.printStackTrace();throw new OAException("接口服务处理异常 Exception " +e.getMessage());
}finally{if (h_response != null) {try{
h_response.close();
}catch(IOException e) {
e.printStackTrace();
}
}if (httpclient != null) {try{
httpclient.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}