[ 
https://issues.apache.org/jira/browse/CXF-7596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Freeman Fang reassigned CXF-7596:
---------------------------------

    Assignee: Freeman Fang

> ClassNotFoundException: javax.net.SocketFactory not found by 
> org.apache.cxf.cxf-rt-transports-http
> --------------------------------------------------------------------------------------------------
>
>                 Key: CXF-7596
>                 URL: https://issues.apache.org/jira/browse/CXF-7596
>             Project: CXF
>          Issue Type: Bug
>          Components: OSGi
>    Affects Versions: 3.2.1
>         Environment: I am running CXF OSGI Bundles in an Apache Felix 
> framework.
>            Reporter: Mehmet Can Cömert
>            Assignee: Freeman Fang
>
> For my resource server, I am writing a custom OpenID interceptor and this 
> interceptor needs to communicate with OpenID server to get some information 
> via HTTPS requests.
> HTTPS Communication triggered from the Input Interceptor with a CXF Web 
> Client fails due to a OSGI Wiring Problem.
> I have seen that "org.apache.cxf.cxf-rt-transports-http" Bundle Imports 
> "javax.net.ssl"
> However an abstract class in the "javax.net" package 
> (javax.net.SocketFactory) is tired to be loaded as well.
> This causes a ClassNotFoundException since the "javax.net" package is not 
> Imported in MANIFEST.MF.
> If I add "javax.net" package to the Import-Package MANIFEST.MF file in the 
> org.apache.cxf.cxf-rt-transports-http.jar
> I do not get any ClassNotFoundException and GET request to HTTPS endpoint can 
> be completed.
> This is the Exception Stack Trace:
> 2017-12-21T12:37:07.535Z ERROR 
> [qtp2011886533-56|org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver:114]
>  Error occurred during error handling, give up!
> org.apache.cxf.interceptor.Fault: java.io.IOException: Error while 
> initializing secure socket
>       at 
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:75)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.wrapExceptionAsFault(PhaseInterceptorChain.java:374)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:332)
>       at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>       at 
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
>       at 
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:191)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:225)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584)
>       at 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
>       at 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>       at org.eclipse.jetty.server.Server.handle(Server.java:534)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>       at 
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>       at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
>       at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
>       at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.ws.rs.ProcessingException: java.io.IOException: Error while 
> initializing secure socket
>       at 
> org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:611)
>       at 
> org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:587)
>       at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1114)
>       at 
> org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1051)
>       at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:897)
>       at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:866)
>       at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:431)
>       at 
> org.apache.cxf.jaxrs.client.SyncInvokerImpl.method(SyncInvokerImpl.java:135)
>       at 
> org.apache.cxf.jaxrs.client.SyncInvokerImpl.method(SyncInvokerImpl.java:130)
>       at 
> org.apache.cxf.jaxrs.client.SyncInvokerImpl.get(SyncInvokerImpl.java:50)
>       at 
> org.apache.cxf.jaxrs.client.spec.InvocationBuilderImpl.get(InvocationBuilderImpl.java:88)
>       at 
> com.helper.service.security.oauth2.impl.OAuth2HelperFactory.getEndpoints(OAuth2HelperFactory.java:211)
>       at 
> com.helper.service.security.oauth2.impl.OAuth2Helper.getPublicKey(OAuth2Helper.java:178)
>       at 
> com.helper.service.security.oauth2.impl.OAuth2Helper.authenticate(OAuth2Helper.java:139)
>       at 
> com.helper.bundle.rest.impl.dosgi.security.OpenIdAuthorizationInterceptor.handleMessage(OpenIdAuthorizationInterceptor.java:71)
>       at 
> org.apache.cxf.jaxrs.security.SimpleAuthorizingFilter.filter(SimpleAuthorizingFilter.java:39)
>       at 
> org.apache.cxf.jaxrs.utils.JAXRSUtils.runContainerRequestFilters(JAXRSUtils.java:1687)
>       at 
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:201)
>       at 
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:77)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
>       ... 36 common frames omitted
> Caused by: java.io.IOException: Error while initializing secure socket
>       at 
> org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:104)
>       at 
> org.apache.cxf.transport.http.URLConnectionHTTPConduit.createConnection(URLConnectionHTTPConduit.java:122)
>       at 
> org.apache.cxf.transport.http.URLConnectionHTTPConduit.setupConnection(URLConnectionHTTPConduit.java:126)
>       at 
> org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:504)
>       at 
> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
>       at 
> org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:683)
>       at 
> org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1050)
>       ... 52 common frames omitted
> Caused by: java.lang.NoClassDefFoundError: javax/net/SocketFactory
>       at 
> org.apache.cxf.transport.https.HttpsURLConnectionFactory.decorateWithTLS(HttpsURLConnectionFactory.java:155)
>       at 
> org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:99)
>       ... 59 common frames omitted
> Caused by: java.lang.ClassNotFoundException: javax.net.SocketFactory not 
> found by org.apache.cxf.cxf-rt-transports-http [75]
>       at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1610)
>       at 
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>       at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>       ... 61 common frames omitted



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to