Hi

I've been banging my head against this problem for a long time  
already, maybe somebody on this list has an idea.

I try to update a datastream with the APIM method  
modifyDatastreamByReference. It works perfectly find with http URLs.  
But when I try to access a secure httpS URL it throws an error. This  
is what I see in the fedora.log:

ERROR 2008-11-10 11:08:59.980 [http-8080-Processor15]  
(FedoraAPIMBindingSOAPHTTPImpl) Error modifying datastream by reference
fedora.server.errors.GeneralException: Error getting 
https://switch.ch/switch-web/images/start_switch_logo.gif
         at  
fedora 
.server 
.storage 
.DefaultExternalContentManager.get(DefaultExternalContentManager.java: 
119)
         at  
fedora 
.server 
.storage 
.DefaultExternalContentManager 
.getExternalContent(DefaultExternalContentManager.java:179)
         at  
fedora.server.storage.DefaultDOManager.doCommit(DefaultDOManager.java: 
1019)
         at  
fedora.server.storage.GSearchDOManager.doCommit(GSearchDOManager.java: 
142)
         at  
fedora.server.storage.SimpleDOWriter.commit(SimpleDOWriter.java:329)
         at  
fedora 
.server 
.management 
.DefaultManagement.modifyDatastreamByReference(DefaultManagement.java: 
740)
         at  
fedora 
.server 
.management 
.FedoraAPIMBindingSOAPHTTPImpl 
.modifyDatastreamByReference(FedoraAPIMBindingSOAPHTTPImpl.java:286)
         at  
fedora 
.server 
.management 
.FedoraAPIMBindingSOAPHTTPSkeleton 
.modifyDatastreamByReference(FedoraAPIMBindingSOAPHTTPSkeleton.java:502)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at  
sun 
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 
39)
         at  
sun 
.reflect 
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 
25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at  
org 
.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java: 
397)
         at  
org 
.apache 
.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
         at  
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 
323)
         at  
org 
.apache 
.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at  
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java: 
281)
         at  
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         at  
org 
.apache 
.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
252)
         at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at  
fedora 
.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java: 
173)
         at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
202)
         at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at  
fedora 
.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java: 
173)
         at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
202)
         at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at  
fedora 
.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java: 
173)
         at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
202)
         at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at  
fedora 
.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java: 
173)
         at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
202)
         at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at  
fedora 
.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java: 
173)
         at  
org 
.apache 
.catalina 
.core 
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 
202)
         at  
org 
.apache 
.catalina 
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at  
org 
.apache 
.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 
213)
         at  
org 
.apache 
.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 
178)
         at  
org 
.apache 
.catalina 
.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
         at  
org 
.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 
126)
         at  
org 
.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 
105)
         at  
org 
.apache 
.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at  
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 
148)
         at  
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 
869)
         at org.apache.coyote.http11.Http11BaseProtocol 
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at  
org 
.apache 
.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at  
org 
.apache 
.tomcat 
.util 
.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java: 
80)
         at org.apache.tomcat.util.threads.ThreadPool 
$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException:  
Unexpected error: java.security.InvalidAlgorithmParameterException:  
the trustAnchors parameter must be non-empty
         at  
com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:166)
         at  
com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java: 
1584)
         at  
com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java: 
1547)
         at  
com 
.sun 
.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java: 
1530)
         at  
com 
.sun 
.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java: 
1456)
         at  
com 
.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:64)
         at  
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
         at  
java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
         at  
org 
.apache 
.commons 
.httpclient 
.HttpConnection.flushRequestOutputStream(HttpConnection.java:827)
         at  
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager 
$ 
HttpConnectionAdapter 
.flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1523)
         at  
org 
.apache 
.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java: 
2018)
         at  
org 
.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java: 
994)
         at  
org 
.apache 
.commons 
.httpclient 
.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
         at  
org 
.apache 
.commons 
.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java: 
170)
         at  
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java: 
396)
         at  
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java: 
324)
         at  
fedora.common.http.HttpInputStream.<init>(HttpInputStream.java:33)
         at fedora.common.http.WebClient.get(WebClient.java:129)
         at fedora.common.http.WebClient.get(WebClient.java:93)
         at  
fedora 
.server 
.storage 
.DefaultExternalContentManager.get(DefaultExternalContentManager.java: 
112)
         ... 53 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:56)
         at  
sun.security.validator.Validator.getInstance(Validator.java:146)
         at  
com 
.sun 
.net 
.ssl 
.internal 
.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:105)
         at  
com 
.sun 
.net 
.ssl 
.internal 
.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java: 
167)
         at  
com 
.sun 
.net 
.ssl 
.internal 
.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
         at  
com 
.sun 
.net 
.ssl 
.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java: 
841)
         at  
com 
.sun 
.net 
.ssl 
.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106)
         at  
com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
         at  
com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java: 
433)
         at  
com 
.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 
877)
         at  
com 
.sun 
.net 
.ssl 
.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java: 
1089)
         at  
com 
.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java: 
618)
         at  
com 
.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
         ... 67 more
Caused by: java.security.InvalidAlgorithmParameterException: the  
trustAnchors parameter must be non-empty
         at  
java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java: 
183)
         at  
java.security.cert.PKIXParameters.<init>(PKIXParameters.java:103)
         at  
java 
.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java: 
87)
         at  
sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:54)
         ... 79 more


I have googled about the empty trustAnchors parameter, but haven't  
found anything to solve my problem. I'm using Fedora 2.2.3.

Any ideas?

Regards
Christian





-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to