2013-06-27 2 views
1

Использование WSDL2Java.bat, включенного в Apache Axis2 для генерации .java-файлов из онлайн-службы SOAP WSDL, однако я получаю сообщение об ошибке в отношении какого-либо сертификата. Я понятия не имею, откуда это происходит, он должен работать в соответствии с инструкциями, которые мне даны.Ошибка сертификата WSDL2Java

Using AXIS2_HOME: C:\Users\****\Downloads\axis2-1.6.2-bin\axis2-1.6.2 
Using JAVA_HOME: C:\Program Files\Java\jre7 
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException 
: Error parsing WSDL 
     at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat 
ionEngine.java:181) 
     at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 
     at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.Validator 
Exception: PKIX path building failed: sun.security.provider.certpath.SunCertPath 
BuilderException: unable to find valid certification path to requested target 
     at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
     at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 
     at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
     at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
     at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) 
     at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 
     at sun.security.ssl.Handshaker.processLoop(Unknown Source) 
     at sun.security.ssl.Handshaker.process_record(Unknown Source) 
     at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
     at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source 
) 
     at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
     at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
     at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect 
(Unknown Source) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown So 
urce) 
     at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unk 
nown Source) 
     at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat 
ionEngine.java:99) 
     ... 2 more 
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find vali 
d certification path to requested target 
     at sun.security.validator.PKIXValidator.doBuild(Unknown Source) 
     at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) 
     at sun.security.validator.Validator.validate(Unknown Source) 
     at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) 
     at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) 
     at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Sour 
ce) 
     ... 16 more 
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to 
find valid certification path to requested target 
     at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown 
Source) 
     at java.security.cert.CertPathBuilder.build(Unknown Source) 
     ... 22 more 

У любого есть какой-либо намек на то, что может быть проблемой или где я должен начать искать?

Благодаря

ответ

3

Кажется, вы пытаетесь генерировать классы Java с помощью WSDL из URL HTTPS. Он не работает, когда пытается проверить сертификат.

Постарайтесь получить доступ к WSDL из своего браузера, и он должен дать вам предупреждение.

Вы можете сохранить WSDL в свой локальный каталог и попробовать запустить WSDL2Java для этого файла.

Однако вы можете получить схожие ошибки при доступе к веб-службе через заглушку, если конечная точка также является URL-адресом HTTPS.

+1

Спасибо, да, я получил его, сохранив его вручную в .wsdl-файле. Однако мне также удалось заставить его работать, добавив правильный сертификат, запустив «установить JAVA_OPTS = -Djavax.net.ssl.trustStore = C:/Path/to/certificate», а затем сгенерируйте файлы Java из источника HTTPS. –

+0

Это замечательно! Я рад, что вы смогли решить проблему! –