I am trying to implement a client for a CXF-based web service that I also wrote.
My web service works great (tested working fine via soapUI), but running the client
Problem solved!
I followed this magicmonster article carefully (note the highlights on "older version of java", and the default password 'changeit'), to import the entire self signed certificate chain to the list of trusted certificates of the Java:
http://magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed.html
With one very important additional twist: Do it for all certificates in the chain, not only the root! (in my case there were three: my organization's, the intermediate, and the root)
Then... go to the Spring application context config XML and modify the <http:conduit
section to have the correct path (and password) for Java's cacerts file:
<http:tlsClientParameters>
<sec:keyManagers keyPassword="changeit">
<sec:keyStore type="JKS" password="changeit"
file="C:\Program Files (x86)\Java\jdk1.6.0_45\jre\lib\security\cacerts"/>
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore type="JKS" password="changeit"
file="C:\Program Files (x86)\Java\jdk1.6.0_45\jre\lib\security\cacerts"/>
</sec:trustManagers>