You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Marco Westermann <Ma...@gmx.de> on 2016/05/17 08:16:19 UTC
SSL error with new version
Hi all,
I just updated my bundle from servicemix 4.5.2 to 6.1.1 (speak from cxf
2.6.8 to cxf 3.4.1) After the update I get an exception calling a Soap
Service via SSL. Before everything was working.
Below please find the code I use and the exception message.
Code:
public WsdleddySoapPort setupClient() throws MalformedURLException,
KeyManagementException, NoSuchAlgorithmException {
log.info("setup eddy service");
URL url = new URL(wsdlUrl);
log.info("wsdl url: " + wsdlUrl);
handleUserAndPassword();
handleDefaultHostnameVerifier();
Wsdleddy wsdleddy = new Wsdleddy(url);
WsdleddySoapPort wsdleddySoap = wsdleddy.getWsdleddySoap();
HTTPConduit httpConduit = (HTTPConduit)
ClientProxy.getClient(wsdleddySoap).getConduit();
TLSClientParameters tlsCP = new TLSClientParameters();
tlsCP.setDisableCNCheck(true);
httpConduit.setTlsClientParameters(tlsCP);
return wsdleddySoap;
}
private void handleDefaultHostnameVerifier() {
log.info("override hostename verifier");
HttpsURLConnection.setDefaultHostnameVerifier(new
HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
private void handleUserAndPassword() {
log.info("setup password and username");
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(eddyUser,
eddyPassword.toCharArray());
}
});
}
And the exception stack:
2016-05-17 10:05:07,731 | WARN | edDocumentsTimer |
PhaseInterceptorChain | 92 - org.apache.cxf.cxf-core - 3.1.4
| Interceptor for
{https://eddyserver/WSEDDY}wsdleddy#{https://eddyserver/WSEDDY}getDokumente
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
at com.sun.proxy.$Proxy82.getDokumente(Unknown Source)
at
de.intersales.qbus.eddy.service.wrapper.DocumentsService.getChangedDocuments(DocumentsService.java:35)[262:de.intersales.qbus.eddy.service.wrapper:3.0.0.SNAPSHOT]
at
Proxy652f951d_c4f6_48f9_99df_d06b34796042.getChangedDocuments(Unknown
Source)
at
Proxyfa6e7724_57e2_4ea5_a01d_ec5dc7e36f90.getChangedDocuments(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)[:1.7.0_80]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_80]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_80]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_80]
at
org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:408)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:279)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:252)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:177)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:121)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:165)[207:org.apache.camel.camel-core:2.16.2]
at
org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:73)[207:org.apache.camel.camel-core:2.16.2]
at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_80]
at java.util.TimerThread.run(Timer.java:505)[:1.7.0_80]
Caused by: javax.net.ssl.SSLException: SSLException invoking
https://eddyserver/wsdleddy: Received fatal alert: unexpected_message
at
sun.reflect.GeneratedConstructorAccessor80.newInstance(Unknown Source)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_80]
at
java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_80]
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1376)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1360)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 29 more
Caused by: javax.net.ssl.SSLException: Received fatal alert:
unexpected_message
at
sun.security.ssl.Alerts.getSSLException(Alerts.java:208)[:1.7.0_80]
at
sun.security.ssl.Alerts.getSSLException(Alerts.java:154)[:1.7.0_80]
at
sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)[:1.7.0_80]
at
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)[:1.7.0_80]
at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)[:1.7.0_80]
at
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)[:1.7.0_80]
at
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)[:1.7.0_80]
at
sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)[:1.7.0_80]
at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)[:1.7.0_80]
at
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1092)[:1.7.0_80]
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)[:1.7.0_80]
at
org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:236)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1319)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1279)
at
org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:267)
at
org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
at
org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1332)
... 32 more
best regards,
Marco
Re: SSL error with new version
Posted by Colm O hEigeartaigh <co...@apache.org>.
Best bet is to turn on SSL debug logging on both sides + see what's going
on: "-Djavax.net.debug=all".
Colm.
On Tue, May 17, 2016 at 9:16 AM, Marco Westermann <Ma...@gmx.de>
wrote:
> Hi all,
>
> I just updated my bundle from servicemix 4.5.2 to 6.1.1 (speak from cxf
> 2.6.8 to cxf 3.4.1) After the update I get an exception calling a Soap
> Service via SSL. Before everything was working.
>
> Below please find the code I use and the exception message.
>
> Code:
>
> public WsdleddySoapPort setupClient() throws MalformedURLException,
> KeyManagementException, NoSuchAlgorithmException {
> log.info("setup eddy service");
>
> URL url = new URL(wsdlUrl);
>
> log.info("wsdl url: " + wsdlUrl);
>
> handleUserAndPassword();
> handleDefaultHostnameVerifier();
>
> Wsdleddy wsdleddy = new Wsdleddy(url);
>
> WsdleddySoapPort wsdleddySoap = wsdleddy.getWsdleddySoap();
> HTTPConduit httpConduit = (HTTPConduit)
> ClientProxy.getClient(wsdleddySoap).getConduit();
> TLSClientParameters tlsCP = new TLSClientParameters();
> tlsCP.setDisableCNCheck(true);
> httpConduit.setTlsClientParameters(tlsCP);
>
> return wsdleddySoap;
>
> }
>
> private void handleDefaultHostnameVerifier() {
> log.info("override hostename verifier");
>
> HttpsURLConnection.setDefaultHostnameVerifier(new
> HostnameVerifier() {
> @Override
> public boolean verify(String s, SSLSession sslSession) {
> return true;
> }
> });
> }
>
> private void handleUserAndPassword() {
> log.info("setup password and username");
> Authenticator.setDefault(new Authenticator() {
> @Override
> protected PasswordAuthentication getPasswordAuthentication() {
> return new PasswordAuthentication(eddyUser,
> eddyPassword.toCharArray());
> }
> });
> }
>
>
>
> And the exception stack:
>
> 2016-05-17 10:05:07,731 | WARN | edDocumentsTimer |
> PhaseInterceptorChain | 92 - org.apache.cxf.cxf-core - 3.1.4 |
> Interceptor for {
> https://eddyserver/WSEDDY}wsdleddy#{https://eddyserver/WSEDDY}getDokumente
> has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not send Message.
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
> at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
> at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
> at com.sun.proxy.$Proxy82.getDokumente(Unknown Source)
> at
> de.intersales.qbus.eddy.service.wrapper.DocumentsService.getChangedDocuments(DocumentsService.java:35)[262:de.intersales.qbus.eddy.service.wrapper:3.0.0.SNAPSHOT]
> at
> Proxy652f951d_c4f6_48f9_99df_d06b34796042.getChangedDocuments(Unknown
> Source)
> at
> Proxyfa6e7724_57e2_4ea5_a01d_ec5dc7e36f90.getChangedDocuments(Unknown
> Source)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)[:1.7.0_80]
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_80]
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_80]
> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_80]
> at
> org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:408)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:279)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:252)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:177)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:460)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.processor.Pipeline.process(Pipeline.java:121)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:165)[207:org.apache.camel.camel-core:2.16.2]
> at
> org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:73)[207:org.apache.camel.camel-core:2.16.2]
> at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_80]
> at java.util.TimerThread.run(Timer.java:505)[:1.7.0_80]
> Caused by: javax.net.ssl.SSLException: SSLException invoking
> https://eddyserver/wsdleddy: Received fatal alert: unexpected_message
> at sun.reflect.GeneratedConstructorAccessor80.newInstance(Unknown
> Source)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_80]
> at
> java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_80]
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1376)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1360)
> at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> ... 29 more
> Caused by: javax.net.ssl.SSLException: Received fatal alert:
> unexpected_message
> at
> sun.security.ssl.Alerts.getSSLException(Alerts.java:208)[:1.7.0_80]
> at
> sun.security.ssl.Alerts.getSSLException(Alerts.java:154)[:1.7.0_80]
> at
> sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)[:1.7.0_80]
> at
> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)[:1.7.0_80]
> at
> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)[:1.7.0_80]
> at
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)[:1.7.0_80]
> at
> sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)[:1.7.0_80]
> at
> sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)[:1.7.0_80]
> at
> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)[:1.7.0_80]
> at
> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1092)[:1.7.0_80]
> at
> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)[:1.7.0_80]
> at
> org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:236)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1319)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1279)
> at
> org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:267)
> at org.apache.cxf.io
> .AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
> at org.apache.cxf.io
> .AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1332)
> ... 32 more
>
>
> best regards,
>
> Marco
>
--
Colm O hEigeartaigh
Talend Community Coder
http://coders.talend.com