I'm using SoapUI to generate my web service client classes (using wsimport/jax-ws ri if it makes a difference). I've had no problem with this for several services, however, the one im working on now has a wsdl file which is served via https and I get the following error when I try to generate my client classes.
[ERROR]
sun.security.validator.ValidatorException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification
path to requested target
Failed to read the WSDL document:
https:///service.wsdl,
because 1) could not find the
document; /2) the document could not
be read; 3) the root element of the
document is not .
[ERROR] failed.noservice=Could not
find wsdl:service in the provided
WSDL(s):
At least one WSDL with at least one
service definition needs to be
provided.
Failed to parse the WSDL.
Any idea of what I have to do to resolve this? I'm assuming somewhere I have to set up security information to allow this request to work?
解决方案
I'd guess that server certificate is self-signed or otherwise untrusted.
You need to import the server's certificate into your Java keystore. (You can use this method if you wish, which looks easier than the last time I tried to do it.)
Alternatively, you can download the WSDL and supporting schemas via a browser and then run wsimport on the local files. (This approach probably won't help when you come to actually invoke the service in question)