Hi, Dhananjay Makwana once wrote: > I am writing a client to a web service that is running over HTTPS/SSL and > is > using self-signed certificate. I am using axis2 version 1.0 and am getting > "sun.security.provider.certpath.SunCertPathBuilderException: unable to > find > valid certification path to requested target". The complete stack trace is > below.
I have the exact problem, and it can be done in axis, but didn't try in axis2: 1- Define IgnoringJSEESocketFactory class: ------------------------------ public class IgnoringJSEESocketFactory extends JSSESocketFactory { public IgnoringJSEESocketFactory(Hashtable attributes) { super(attributes); } @Override protected void initFactory() throws IOException { TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) { } public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) { } } }; try { SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); sslFactory = sc.getSocketFactory(); } catch (Exception e) { } } } ------------------------------ 2- At the beginning of your main method: //to statically initialize the factory, as calling its only method will cache the factory new SocketFactoryFactory() {}; //override the default factory AxisProperties.setClassDefault(SecureSocketFactory.class, test.IgnoringJSEESocketFactory.class.getName() ); Hope you find this useful, many thanks. ____________________________________________________________________________________ Sponsored Link Mortgage rates near 39yr lows. $510k for $1,698/mo. Calculate new payment! www.LowerMyBills.com/lre