Не удалось создать прокси-класс для Exchange EWS: не удалось найти действительный путь сертификации к запрошенной цели

Я хочу создать прокси-класс для EWS (http://msdn.microsoft.com/en-us/library/dd877045%28v=exchg.140%29.aspx).

keytool -keystore t:\my.keystore -storepass password -import -trustcacerts -alias MY-CA -file t:\MY-CA.crt
keytool -keystore t:\my.keystore -storepass password -list
set VMARGS=-Djavax.net.debug=all
set VMARGS=%VMARGS% -Djavax.net.ssl.trustStore=t:\my.keystore -Djavax.net.ssl.trustStorePassword=password
wsimport https://mail.xxxx.co.jp/ews/Exchange.asmx

Но я получаю это сообщение об ошибке:

[ERROR]
sun.security.validator.ValidatorException:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target

person ncowboy    schedule 18.01.2011    source источник


Ответы (2)


Пытаться:

wsimport -Djavax.net.ssl.trustStore=t:\my.keystore https://mail.xxxx.co.jp/ews/Exchange.asmx

Похоже, что VMARGS не принимается wsimport.

Если вышеизложенное работает, то доказательство убедительно. В противном случае проблема заключается либо в том, что вы добавили неправильный RootCA в ваше хранилище ключей, либо в хранилище ключей не читается

person sweetfa    schedule 01.03.2011

Я могу подтвердить, что это все еще проблема для JDK1.6.0u29.

При выполнении следующей команды:

wsimport -Djavax.net.ssl.trustStore=c:\jdk160_29\.mykeystore https://url.com?wsdl -p com.test -s ./src

Я получил следующую ошибку:

unrecognized parameter -Djavax.net.ssl.trustStore=c:\jdk160_29\.mykeystore

Но я нашел обходной путь для выполнения следующей команды:

java -Djavax.net.ssl.trustStore=c:\jdk160_29\.mykeystore -classpath C:\jdk160_29\lib\tools.jar com.sun.tools.internal.ws.WsImport https://ur.com?wsdl -p com.test -s ./src
person lovelywib    schedule 14.11.2012