cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
814
Views
2
Helpful
2
Replies

Why does axl-demo run fine on Java8 but fail on Java6?!

paul.m00ij
Level 1
Level 1

I downloaded the axl-demo and had it up and running quickly in Eclipse with Java8.

However I must make something for a customer who has java6 and expected it to run, since the accompanying web-site (and code) says it should run on Java6.

Anybody having suggestions on how to fix the error I'm having in the following output? Thanks in advance!

Enter the name of the phone you want to retrieve information about.

  Phone Name: SEP4C00828573D8

Sep 21, 2016 2:46:46 PM com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser parseWSDL

WARNING: Import of file:/Users/NLverseveldO/Documents/Workspaces/ws_eclipse/Cisco_axl-demo/schema/current/AXLSoap.xsd is violation of BP 1.1 R2001. Proceeding with a warning.

R2001 A DESCRIPTION must only use the WSDL "import" statement to import another WSDL description.

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

  at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:117)

  at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:208)

  at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130)

  at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:124)

  at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:1121)

  at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:1035)

  at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:1004)

  at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862)

  at com.sun.xml.internal.ws.client.Stub.process(Stub.java:448)

  at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:178)

  at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)

  at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)

  at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)

  at com.sun.proxy.$Proxy33.getPhone(Unknown Source)

  at com.cisco.axl.demo.Demo.getPhone(Demo.java:127)

  at com.cisco.axl.demo.Demo.getPhoneInfo(Demo.java:95)

  at com.cisco.axl.demo.Demo.main(Demo.java:76)

Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

  at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)

  at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)

  at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1906)

  at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1889)

  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1410)

  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)

  at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)

  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)

  at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1283)

  at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1258)

  at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)

  at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:104)

  ... 16 more

Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

  at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:90)

  at sun.security.validator.Validator.getInstance(Validator.java:179)

  at sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:312)

  at sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:171)

  at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:184)

  at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)

  at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)

  at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)

  at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)

  at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)

  at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)

  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)

  at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)

  ... 23 more

Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

  at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)

  at java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)

  at java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)

  at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:88)

  ... 35 more

2 Replies 2

Did you generate the local-keystore/certifcate with java8-keytool and tried to run it in a java6 environment?

I think (in terms of security) java8-keytool / java6-keytool  may differ in terms of algorithms, so you'ld better try to generate the local-keystore/certificate using java6-keytool?

dstaudt
Cisco Employee
Cisco Employee

As Otto suggests, this looks like an issue with the Java SSL environment, i.e. the trust store configuration.  E.g.: java - Error - trustAnchors parameter must be non-empty - Stack Overflow