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;
}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章