https jesery
public class AuditlogSender {
private static AuditlogSender sender = null;
private AuditlogSender(){}
public static AuditlogSender getInstance(){
if(sender == null){
sender = new AuditlogSender();
}
return sender;
}
public String send(AuditlogBean bean,String url){
XStream xs = new XStream(new DomDriver("UTF-8"));
String xml = xs.toXML(bean);
String entity = null;
if(url.indexOf("http:")>-1){
Client c = Client.create();
WebResource r=c.resource(url);
ClientResponse cr = r.header("Content-Type", "application/xml;charset=UTF-8").post(ClientResponse.class,xml);
entity = cr.getEntity( String.class );
}else if(url.indexOf("https:")>-1){
HostnameVerifier hv = getHostnameVerifier();
ClientConfig config = new DefaultClientConfig();
SSLContext ctx =null;
try {
ctx = getSslContext();
} catch (Exception e) {
e.printStackTrace();
}
config.getProperties().put( HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
new HTTPSProperties( hv, ctx ) );
Client jerseyClient = Client.create( config );
WebResource wr = jerseyClient.resource(url);
ClientResponse cr = wr.header("Content-Type", "application/xml;charset=UTF-8").post(ClientResponse.class,xml);
entity = cr.getEntity( String.class );
cr.close();
}
return entity;
}
private static HostnameVerifier getHostnameVerifier() {
HostnameVerifier hv = new HostnameVerifier() {
@Override
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
};
return hv;
}
private static SSLContext getSslContext() throws Exception {
SSLContext sslContext = SSLContext.getInstance( "SSL" );
sslContext.init(null, new TrustManager[] {
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
public void checkClientTrusted( X509Certificate[] certs, String authType ) {}
public void checkServerTrusted( X509Certificate[] certs, String authType ) {}
}
}, new SecureRandom()
);
return sslContext;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.