wsimport de https: [ERREUR] java.de sécurité.cert.CertificateException: Pas d'autres noms de l'objet présent
Je suis en train de générer un service web client à l'aide de wsimport de https wsdl:
call wsimport -d bin -s src -p mypackage.ws https://x.x.x.x:8181/services/SomeService?wsdl
Pour résoudre les erreurs de sécurité, j'ai ajouté le certificat d'un serveur Java du keystore:
keytool -import -keystore c:\Java\jdk1.6.0_38\jre\lib\security\cacerts -file c:\ca-dev.crt
Mais quand je fais wsimport d'erreur s'affiche:
[ERREUR] java.de sécurité.cert.CertificateException: Pas d'autres noms de l'objet présent
N'a pas pu lire le document WSDL: https://x.x.x.x:8181/services/SomeService?wsdl, parce que 1) n'a pas pu trouver le document; /2) le document n'a pas pu
lu; 3) l'élément racine du document n'est pas .
[ERREUR] a échoué.noservice=ne Pouvait pas trouver wsdl:service dans le WSDL(s):
Au moins un WSDL avec au moins une définition de service doit être fourni.
Failed to parse the WSDL.
RÉSOLU!
Ajout d'une entrée avec nom de même que le CN du certificat de fichier hosts.
- Ajout d'une entrée avec nom de même que le CN du certificat de fichier hosts.
Vous devez vous connecter pour publier un commentaire.
Un certificat SSL est basé sur les noms d'hôtes. Le CN du certificat doit être le nom d'hôte que vous essayez d'accès, ou il doit avoir une option autre Nom de l'Objet entrée qui correspond exactement au nom d'hôte que vous tentez d'accéder.
Si possible, assurez-vous que le nom d'hôte de votre URL https correspond exactement à la CN ou l'un des autres Noms de l'Objet dans le certificat. De nombreux certificats ont pas d'autres Noms de l'Objet, afin de ne pas insister si vous ne pouvez pas trouver tout lorsque vous examinez le certificat.
Parfois se référant au nom d'hôte de cette manière n'est pas possible, comme quand le port 8181 est accessible uniquement à l'intérieur d'un réseau local et en se référant à la machine par son complète et correcte de nom d'hôte serait d'utiliser un Internet route pour le rejoindre. Autant que je sache, il n'y a pas de ligne de commande des moyens de désactivation de la vérification de certificat. Un (évidemment non portable) solution de contournement consiste à ajouter une entrée à votre
hosts
fichier, qui est généralement situé à%SystemRoot%\system32\drivers\etc\hosts
dans Windows, de sorte que vous pouvez vous référer au serveur avec le nom de l'hôte qui est dans le certificat.