You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "Brendan Maguire (brmaguir)" <br...@cisco.com> on 2008/04/01 13:27:10 UTC

RE: Problems in using TLS

Thanks for the reply Daniel.

I tried using the 2.0.5 libraries but am still getting the exact same
errors.

Am I setting it up correctly using the cxf.xml file? Any other ideas on
what the problem could be?

Cheers,
Brenan

-----Original Message-----
From: Daniel Kulp [mailto:dkulp@apache.org] 
Sent: 27 March 2008 18:38
To: cxf-user@incubator.apache.org
Cc: Brendan Maguire (brmaguir)
Subject: Re: Problems in using TLS


I don't suppose there would be any chance of you trying the 2.0.5 stuff
we're voting on?
http://people.apache.org/~dkulp/stage_cxf/2.0.5-incubator/

I made some changes to the TLS stuff in 2.0.5 to make it work better and
with less configuration.

Dan



On Thursday 27 March 2008, brmaguir wrote:
> Hey,
>
> I'm trying to communicate with a web service using Apache CXF using 
> TLS. When I specify TLS in the cxf.xml file using:
>
>                 <http-conf:tlsClientParameters 
> secureSocketProtocol="TLS"> <sec:trustManagers>
> 				<sec:keyStore password="password"
> url="file:\C:/path/to/keystore"/> </sec:trustManagers>
> 			<sec:cipherSuitesFilter>
> 				<sec:include>.*.*.</sec:include>
> 			</sec:cipherSuitesFilter>
> 		</http-conf:tlsClientParameters>
>
> it is failing with the following error:
>
> 27-Mar-2008 11:06:03 org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Connection reset
> 	at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
>s(AbstractOutDat abindingInterceptor.java:75)
> 	at
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInt
>erceptor.java:68 )
> 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:207) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135
>) at $Proxy35.login(Unknown Source)
> 	at thirdPartyAPI.test.Test.loginAppuser(Test.java:135)
> 	at thirdPartyAPI.test.Test.main(Test.java:61)
> Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset
> 	at
com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> 	at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
>s(AbstractOutDat abindingInterceptor.java:73)
> 	... 9 more
> Caused by: java.net.SocketException: Connection reset
> 	at java.net.SocketInputStream.read(Unknown Source)
> 	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown
Source)
> 	at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
> 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> Source) at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unk
>nown Source)
> 	at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
> Source)
> 	at
com.sun.net.ssl.internal.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.getOutputStream(Unknown
> Source)
> 	at
> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unkn
>own Source)
> 	at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHe
>adersTrustCachin g(HTTPConduit.java:1766)
> 	at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstW
>rite(HTTPConduit .java:1734)
> 	at
> org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOut
>putStream.java:4 2)
> 	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> 	at
> com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> ... 10 more
> Exception in thread "main" javax.xml.ws.soap.SOAPFaultException:
> Connection reset
> 	at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:175
>) at $Proxy35.login(Unknown Source)
> 	at thirdPartyAPI.test.Test.loginAppuser(Test.java:135)
> 	at thirdPartyAPI.test.Test.main(Test.java:61)
> Caused by: org.apache.cxf.interceptor.Fault: Connection reset
> 	at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
>s(AbstractOutDat abindingInterceptor.java:75)
> 	at
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInt
>erceptor.java:68 )
> 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:207) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135
>) ... 3 more
> Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset
> 	at
com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> 	at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
>s(AbstractOutDat abindingInterceptor.java:73)
> 	... 9 more
> Caused by: java.net.SocketException: Connection reset
> 	at java.net.SocketInputStream.read(Unknown Source)
> 	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown
Source)
> 	at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
> 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> Source) at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unk
>nown Source)
> 	at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
> Source)
> 	at
com.sun.net.ssl.internal.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.getOutputStream(Unknown
> Source)
> 	at
> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unkn
>own Source)
> 	at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHe
>adersTrustCachin g(HTTPConduit.java:1766)
> 	at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstW
>rite(HTTPConduit .java:1734)
> 	at
> org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOut
>putStream.java:4 2)
> 	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> 	at
> com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> ... 10 more
>
>
> When I look at the trace in wireshark it shows the outgoing message 
> from the CXF client as been SSLv2. The server then sends back a TCP 
> RST. I've also tried using "TLSv1" and "SSLv3" as the protocol but the

> client uses SSLv2 regardless.
>
> I've also tried specifying the protocol via the code using:
>
>                 Client c = ClientProxy.getClient(port);
> 		HTTPConduit conduit = (HTTPConduit) c.getConduit();
> 		TLSClientParameters params =
conduit.getTlsClientParameters();
> 		params.setSecureSocketProtocol("TLS");
> 		conduit.setTlsClientParameters(params);
>
> This still makes no difference.
>
> Any ideas on what's going wrong / how to fix it? Any help would be 
> greatly appreciated.
>
> Regards,
> Brendan



--
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

Re: Problems in using TLS

Posted by Daniel Kulp <dk...@apache.org>.
Any chance you could create a small testcase that shows the issue.   
Maybe modify the https sample or something?   If I can get a testcase, I 
can definitely dig into it more and figure out what is going on.   You 
can send it to me privately to dan@dankulp.com to avoid the apache 
filters that tend to strip attachments.

Dan


On Tuesday 01 April 2008, Brendan Maguire (brmaguir) wrote:
> Thanks for the reply Daniel.
>
> I tried using the 2.0.5 libraries but am still getting the exact same
> errors.
>
> Am I setting it up correctly using the cxf.xml file? Any other ideas
> on what the problem could be?
>
> Cheers,
> Brenan
>
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org]
> Sent: 27 March 2008 18:38
> To: cxf-user@incubator.apache.org
> Cc: Brendan Maguire (brmaguir)
> Subject: Re: Problems in using TLS
>
>
> I don't suppose there would be any chance of you trying the 2.0.5
> stuff we're voting on?
> http://people.apache.org/~dkulp/stage_cxf/2.0.5-incubator/
>
> I made some changes to the TLS stuff in 2.0.5 to make it work better
> and with less configuration.
>
> Dan
>
> On Thursday 27 March 2008, brmaguir wrote:
> > Hey,
> >
> > I'm trying to communicate with a web service using Apache CXF using
> > TLS. When I specify TLS in the cxf.xml file using:
> >
> >                 <http-conf:tlsClientParameters
> > secureSocketProtocol="TLS"> <sec:trustManagers>
> > 				<sec:keyStore password="password"
> > url="file:\C:/path/to/keystore"/> </sec:trustManagers>
> > 			<sec:cipherSuitesFilter>
> > 				<sec:include>.*.*.</sec:include>
> > 			</sec:cipherSuitesFilter>
> > 		</http-conf:tlsClientParameters>
> >
> > it is failing with the following error:
> >
> > 27-Mar-2008 11:06:03 org.apache.cxf.phase.PhaseInterceptorChain
> > doIntercept INFO: Interceptor has thrown exception, unwinding now
> > org.apache.cxf.interceptor.Fault: Connection reset
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePa
> >rt s(AbstractOutDat abindingInterceptor.java:75)
> > 	at
> > org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutI
> >nt erceptor.java:68 )
> > 	at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
> >to rChain.java:207) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> > at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:1
> >35 ) at $Proxy35.login(Unknown Source)
> > 	at thirdPartyAPI.test.Test.loginAppuser(Test.java:135)
> > 	at thirdPartyAPI.test.Test.main(Test.java:61)
> > Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset
> > 	at
>
> com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
>
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePa
> >rt s(AbstractOutDat abindingInterceptor.java:73)
> > 	... 9 more
> > Caused by: java.net.SocketException: Connection reset
> > 	at java.net.SocketInputStream.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown
>
> Source)
>
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> > Source) at
> > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(U
> >nk nown Source)
> > 	at
>
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
>
> > Source)
> > 	at
>
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
>
> > Source)
> > 	at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown
> > Source) at
> > sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connec
> >t( Unknown Source)
> > 	at
> > sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown
> > Source)
> > 	at
> > sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Un
> >kn own Source)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handle
> >He adersTrustCachin g(HTTPConduit.java:1766)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirs
> >tW rite(HTTPConduit .java:1734)
> > 	at
> > org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedO
> >ut putStream.java:4 2)
> > 	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> > 	at
> > com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214
> >) at
> > com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> > ... 10 more
> > Exception in thread "main" javax.xml.ws.soap.SOAPFaultException:
> > Connection reset
> > 	at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:1
> >75 ) at $Proxy35.login(Unknown Source)
> > 	at thirdPartyAPI.test.Test.loginAppuser(Test.java:135)
> > 	at thirdPartyAPI.test.Test.main(Test.java:61)
> > Caused by: org.apache.cxf.interceptor.Fault: Connection reset
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePa
> >rt s(AbstractOutDat abindingInterceptor.java:75)
> > 	at
> > org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutI
> >nt erceptor.java:68 )
> > 	at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercep
> >to rChain.java:207) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> > at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:1
> >35 ) ... 3 more
> > Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset
> > 	at
>
> com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
>
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePa
> >rt s(AbstractOutDat abindingInterceptor.java:73)
> > 	... 9 more
> > Caused by: java.net.SocketException: Connection reset
> > 	at java.net.SocketInputStream.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown
>
> Source)
>
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> > Source) at
> > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(U
> >nk nown Source)
> > 	at
>
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
>
> > Source)
> > 	at
>
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
>
> > Source)
> > 	at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown
> > Source) at
> > sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connec
> >t( Unknown Source)
> > 	at
> > sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown
> > Source)
> > 	at
> > sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Un
> >kn own Source)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handle
> >He adersTrustCachin g(HTTPConduit.java:1766)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirs
> >tW rite(HTTPConduit .java:1734)
> > 	at
> > org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedO
> >ut putStream.java:4 2)
> > 	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> > 	at
> > com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214
> >) at
> > com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> > ... 10 more
> >
> >
> > When I look at the trace in wireshark it shows the outgoing message
> > from the CXF client as been SSLv2. The server then sends back a TCP
> > RST. I've also tried using "TLSv1" and "SSLv3" as the protocol but
> > the
> >
> > client uses SSLv2 regardless.
> >
> > I've also tried specifying the protocol via the code using:
> >
> >                 Client c = ClientProxy.getClient(port);
> > 		HTTPConduit conduit = (HTTPConduit) c.getConduit();
> > 		TLSClientParameters params =
>
> conduit.getTlsClientParameters();
>
> > 		params.setSecureSocketProtocol("TLS");
> > 		conduit.setTlsClientParameters(params);
> >
> > This still makes no difference.
> >
> > Any ideas on what's going wrong / how to fix it? Any help would be
> > greatly appreciated.
> >
> > Regards,
> > Brendan
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog

RE: Problems in using TLS

Posted by Glen Mazza <gl...@verizon.net>.
Brendan,

What happens if you use "SSL" instead of "TLS"?  AFAIK they are
synonyms.

Regards,
Glen

Am Dienstag, den 01.04.2008, 13:27 +0200 schrieb Brendan Maguire
(brmaguir):
> Thanks for the reply Daniel.
> 
> I tried using the 2.0.5 libraries but am still getting the exact same
> errors.
> 
> Am I setting it up correctly using the cxf.xml file? Any other ideas on
> what the problem could be?
> 
> Cheers,
> Brenan
> 
> -----Original Message-----
> From: Daniel Kulp [mailto:dkulp@apache.org] 
> Sent: 27 March 2008 18:38
> To: cxf-user@incubator.apache.org
> Cc: Brendan Maguire (brmaguir)
> Subject: Re: Problems in using TLS
> 
> 
> I don't suppose there would be any chance of you trying the 2.0.5 stuff
> we're voting on?
> http://people.apache.org/~dkulp/stage_cxf/2.0.5-incubator/
> 
> I made some changes to the TLS stuff in 2.0.5 to make it work better and
> with less configuration.
> 
> Dan
> 
> 
> 
> On Thursday 27 March 2008, brmaguir wrote:
> > Hey,
> >
> > I'm trying to communicate with a web service using Apache CXF using 
> > TLS. When I specify TLS in the cxf.xml file using:
> >
> >                 <http-conf:tlsClientParameters 
> > secureSocketProtocol="TLS"> <sec:trustManagers>
> > 				<sec:keyStore password="password"
> > url="file:\C:/path/to/keystore"/> </sec:trustManagers>
> > 			<sec:cipherSuitesFilter>
> > 				<sec:include>.*.*.</sec:include>
> > 			</sec:cipherSuitesFilter>
> > 		</http-conf:tlsClientParameters>
> >
> > it is failing with the following error:
> >
> > 27-Mar-2008 11:06:03 org.apache.cxf.phase.PhaseInterceptorChain
> > doIntercept INFO: Interceptor has thrown exception, unwinding now
> > org.apache.cxf.interceptor.Fault: Connection reset
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
> >s(AbstractOutDat abindingInterceptor.java:75)
> > 	at
> > org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInt
> >erceptor.java:68 )
> > 	at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> >rChain.java:207) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135
> >) at $Proxy35.login(Unknown Source)
> > 	at thirdPartyAPI.test.Test.loginAppuser(Test.java:135)
> > 	at thirdPartyAPI.test.Test.main(Test.java:61)
> > Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset
> > 	at
> com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
> >s(AbstractOutDat abindingInterceptor.java:73)
> > 	... 9 more
> > Caused by: java.net.SocketException: Connection reset
> > 	at java.net.SocketInputStream.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown
> Source)
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> > Source) at
> > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unk
> >nown Source)
> > 	at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
> > Source)
> > 	at
> com.sun.net.ssl.internal.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.getOutputStream(Unknown
> > Source)
> > 	at
> > sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unkn
> >own Source)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHe
> >adersTrustCachin g(HTTPConduit.java:1766)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstW
> >rite(HTTPConduit .java:1734)
> > 	at
> > org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOut
> >putStream.java:4 2)
> > 	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> > 	at
> > com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> > at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> > ... 10 more
> > Exception in thread "main" javax.xml.ws.soap.SOAPFaultException:
> > Connection reset
> > 	at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:175
> >) at $Proxy35.login(Unknown Source)
> > 	at thirdPartyAPI.test.Test.loginAppuser(Test.java:135)
> > 	at thirdPartyAPI.test.Test.main(Test.java:61)
> > Caused by: org.apache.cxf.interceptor.Fault: Connection reset
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
> >s(AbstractOutDat abindingInterceptor.java:75)
> > 	at
> > org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInt
> >erceptor.java:68 )
> > 	at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> >rChain.java:207) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at
> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at
> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135
> >) ... 3 more
> > Caused by: com.ctc.wstx.exc.WstxIOException: Connection reset
> > 	at
> com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
> > 	at
> > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writePart
> >s(AbstractOutDat abindingInterceptor.java:73)
> > 	... 9 more
> > Caused by: java.net.SocketException: Connection reset
> > 	at java.net.SocketInputStream.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown
> Source)
> > 	at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
> > 	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> > Source) at
> > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unk
> >nown Source)
> > 	at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
> > Source)
> > 	at
> com.sun.net.ssl.internal.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.getOutputStream(Unknown
> > Source)
> > 	at
> > sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unkn
> >own Source)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHe
> >adersTrustCachin g(HTTPConduit.java:1766)
> > 	at
> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstW
> >rite(HTTPConduit .java:1734)
> > 	at
> > org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOut
> >putStream.java:4 2)
> > 	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
> > 	at
> > com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
> > at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
> > ... 10 more
> >
> >
> > When I look at the trace in wireshark it shows the outgoing message 
> > from the CXF client as been SSLv2. The server then sends back a TCP 
> > RST. I've also tried using "TLSv1" and "SSLv3" as the protocol but the
> 
> > client uses SSLv2 regardless.
> >
> > I've also tried specifying the protocol via the code using:
> >
> >                 Client c = ClientProxy.getClient(port);
> > 		HTTPConduit conduit = (HTTPConduit) c.getConduit();
> > 		TLSClientParameters params =
> conduit.getTlsClientParameters();
> > 		params.setSecureSocketProtocol("TLS");
> > 		conduit.setTlsClientParameters(params);
> >
> > This still makes no difference.
> >
> > Any ideas on what's going wrong / how to fix it? Any help would be 
> > greatly appreciated.
> >
> > Regards,
> > Brendan
> 
> 
> 
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog