赞
踩
用exchage获取Outlook数据服务是因为证书问题导致,现在需要去除证书验证就可以访问了。
ExchangeService service = new ExchangeServiceWithHostVerify(ExchangeVersion.Exchange2010_SP2);
/** * 重写ExchangeService类,不对任何域名做验证 */ private static class ExchangeServiceWithHostVerify extends ExchangeService { // 不对任何域名做验证 private final static HostnameVerifier hostnameVerifierWithOutVerfy = new HostnameVerifier() { @Override public boolean verify(String s, SSLSession sslSession) { return true; } }; public ExchangeServiceWithHostVerify(ExchangeVersion requestedServerVersion) { super(requestedServerVersion); } @Override protected Registry<ConnectionSocketFactory> createConnectionSocketFactoryRegistry() { try { return RegistryBuilder.<ConnectionSocketFactory>create().register(EWSConstants.HTTP_SCHEME, new PlainConnectionSocketFactory()).register(EWSConstants.HTTPS_SCHEME, EwsSSLProtocolSocketFactory.build(null, hostnameVerifierWithOutVerfy)).build(); } catch (GeneralSecurityException e) { throw new RuntimeException("Could not initialize ConnectionSocketFactory instances for HttpClientConnectionManager", e); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。