Forum Discussion

Tony_Sheng's avatar
Tony_Sheng
Occasional Contributor
16 years ago

Exception in request: javax.net.ssl.SSLException: HelloReque

Hi
I am getting following error while making an https call through soapUI:

ERROR:Exception in request: javax.net.ssl.SSLException: HelloRequest followed by an unexpected handshake message

ERROR:javax.net.ssl.SSLException: HelloRequest followed by an unexpected handshake message
javax.net.ssl.SSLException: HelloRequest followed by an unexpected handshake message
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloRequest(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(SoapUIMultiThreadedHttpConnectionManager.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at com.eviware.soapui.impl.wsdl.submit.transports.http.support.methods.ExtendedPostMethod.readResponse(ExtendedPostMethod.java:80)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:192)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Important thing to note down is that

I am not getting any error while making request through soapUI having following versions:

soapUI Pro 3.5, copyright (C) 2007-2009 eviware.com http://www.soapui.org | http://www.eviware.com Build daily-2010-03-10-[1], Build Date 2010/03/10 06:

soapUI Pro 3.5.1, copyright (C) 2007-2009 eviware.com http://www.soapui.org | http://www.eviware.com Build dist-97-2010-04-12, Build Date 2010/04/12 09:51


But I am getting the above stated error while making request through soapUI having following versions:

soapUI Pro 3.5.1, copyright (C) 2007-2010 eviware.com http://www.soapui.org | http://www.eviware.com Build daily-2010-06-21-[1], Build Date 2010/06/21 06:23

soapUI Pro 3.6-beta1, copyright (C) 2007-2010 eviware software ab http://www.soapui.org | http://www.eviware.com Build soapui-pro-daily-2010-07-02-[1], Build Date 2010/07/02 06:09



May i know what could be the reason?

Regards,
Tony

6 Replies

  • Hello,

    try starting soapUI with "-Dsun.security.ssl.allowUnsafeRenegotiation" if you are starting it with sh or bat script. If you are using launcher add this option to *.vmoptions file.

    Let me know does it helps,
    robert
  • Tony_Sheng's avatar
    Tony_Sheng
    Occasional Contributor
    Hi Robert,
    After applying your solution, now i am getting ERROR as java.lang.ExceptionInInitializerError.

    ERROR:Exception in request: java.lang.Exception: java.lang.ExceptionInInitializerError

    ERROR:java.lang.ExceptionInInitializerError
    java.lang.ExceptionInInitializerError
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.initHandshaker(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.doneConnect(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
    at org.apache.commons.ssl.Java14.connectSocket(Java14.java:190)
    at org.apache.commons.ssl.Java14.buildSocket(Java14.java:153)
    at org.apache.commons.ssl.JavaImpl.createSocket(JavaImpl.java:206)
    at org.apache.commons.ssl.SSL.createSocket(SSL.java:543)
    at org.apache.commons.ssl.SSLClient.createSocket(SSLClient.java:221)
    at org.apache.commons.ssl.HttpSecureProtocol.createSocket(HttpSecureProtocol.java:90)
    at com.eviware.soapui.impl.wsdl.support.http.SoapUIEasySSLProtocolSocketFactory.createSocket(SoapUIEasySSLProtocolSocketFactory.java:67)
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
    at com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(SoapUIMultiThreadedHttpConnectionManager.java:1666)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:191)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.RuntimeException: Value of sun.security.ssl.allowUnsafeRenegotiation must either be 'true' or 'false'
    at com.sun.net.ssl.internal.ssl.Debug.getBooleanProperty(Unknown Source)
    at com.sun.net.ssl.internal.ssl.Handshaker.<clinit>(Unknown Source)
    ... 23 more


    Running the same request for the second time results in different error as:

    ERROR:Exception in request: java.lang.Exception: java.lang.NoClassDefFoundError: Could not initialize class com.sun.net.ssl.internal.ssl.ClientHandshaker


    ERROR:java.lang.Exception: java.lang.NoClassDefFoundError: Could not initialize class com.sun.net.ssl.internal.ssl.ClientHandshaker
    java.lang.Exception: java.lang.NoClassDefFoundError: Could not initialize class com.sun.net.ssl.internal.ssl.ClientHandshaker
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:202)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:122)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.net.ssl.internal.ssl.ClientHandshaker
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.initHandshaker(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.doneConnect(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
    at org.apache.commons.ssl.Java14.connectSocket(Java14.java:190)
    at org.apache.commons.ssl.Java14.buildSocket(Java14.java:153)
    at org.apache.commons.ssl.JavaImpl.createSocket(JavaImpl.java:206)
    at org.apache.commons.ssl.SSL.createSocket(SSL.java:543)
    at org.apache.commons.ssl.SSLClient.createSocket(SSLClient.java:221)
    at org.apache.commons.ssl.HttpSecureProtocol.createSocket(HttpSecureProtocol.java:90)
    at com.eviware.soapui.impl.wsdl.support.http.SoapUIEasySSLProtocolSocketFactory.createSocket(SoapUIEasySSLProtocolSocketFactory.java:53)
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
    at com.eviware.soapui.impl.wsdl.support.http.SoapUIMultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(SoapUIMultiThreadedHttpConnectionManager.java:1666)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:191)
    ... 7 more


    I have applied the changes specified by you in soapUI-Pro-3.5.1.vmoptions. The file contents were as follows after the changes:


    -Xms128m
    -Xmx1019m
    -Dsoapui.properties=soapui.properties
    -Dsoapui.home=C:\Program Files\eviware\soapUI-Pro-3.5.1/bin
    -Dsoapui.ext.libraries=C:\Program Files\eviware\soapUI-Pro-3.5.1/bin/ext
    -Dsoapui.ext.listeners=C:\Program Files\eviware\soapUI-Pro-3.5.1/bin/listeners
    -Dsoapui.ext.actions=C:\Program Files\eviware\soapUI-Pro-3.5.1/bin/actions
    -Dwsi.dir=C:\Program Files\eviware\soapUI-Pro-3.5.1/wsi-test-tools
    -Djava.library.path=C:\Program Files\eviware\soapUI-Pro-3.5.1/bin
    -DGRE_HOME=C:\Program Files\eviware\soapUI-Pro-3.5.1/xulrunner-windows
    -Dsun.security.ssl.allowUnsafeRenegotiation


    Is there any other changes required or am I missing something like class com.sun.net.ssl.internal.ssl.ClientHandshaker? Where can i get this?


    Regards,
    Tony
  • Hello,

    Sorry I did not write complete property, it should be :
    "-Dsun.security.ssl.allowUnsafeRenegotiation=true"

    Please try and let me know does it helps,
    robert
  • Tony_Sheng's avatar
    Tony_Sheng
    Occasional Contributor
    Hi Robert,
    I tried it ["-Dsun.security.ssl.allowUnsafeRenegotiation=true"] before your post and it worked. Thanks for your support and help.

    Regards,
    Tony
  • Tony_Sheng's avatar
    Tony_Sheng
    Occasional Contributor
    Hi Robert,
    I am curious to know why this property is been made default set to false?

    Regards,
    Tony