Subject: FW: Grizzly SSL Connection Closed Error
Grizzly is included in the servicemix war file that we deploy in jboss.
Grizzly is in the Glassfish jars needed to deploy JBI components.
We build it from Glassfishv2.2, I attached the build procedure.
The grizzly classes I'm having a problem with are with the httpbc-installer-2.6-SNAPSHOT.jar located in the deploy directory.
Within the httpbc jar, the grizzly classes are in the httpsoapbcimpl.jar, webservices-rt.jar and the appserv-rt.jar
I edited the classes in the appserv-rt.jar to point to SSLWorkerThread. I'm not sure what would cause the SSL problem but all the ssl classes for grizzlyv1.0.30 are in the appserv-rt.jar
Thank You!
Grizzly Classes in appserv-rt.jar
Com.sun.enterprise.web.ara.*
Com.sun.enterprise.web.connector.grizzly*
Com.sun.enterprise.web.portunif.*
Com.sun.grizzly.cometd.*
Org.apache.catalina.*
Org.apache.coyote.*
Org.apache.tomcat.*
Grizzly Classes in webservices-rt.jar:
[cid:image001.png_at_01CC6C9F.6DC245B0]
Grizzly Classes in httpsoapbcimpl:
[cid:image002.png_at_01CC6C9F.6DC245B0]
From: Oleksiy Stashok [mailto:oleksiy.stashok_at_oracle.com]
Sent: Monday, September 05, 2011 1:56 AM
To: users_at_grizzly.java.net
Subject: Re: Grizzly SSL Connection Closed Error
Hi,
the problem happens during SSL handshake, so most probably it's related to Grizzly's SSL configuration.
Can you pls. give us more details how you use Grizzly, cause you mentioned JBoss etc.
Thanks.
WBR,
Alexey.
On 09/02/2011 08:29 PM, Bessette-Halsema, Dominique E wrote:
Hi
I'm getting a EOFException: Connection Closed error when I try to hit my wsdl using two-way ssl. I edited the grizzly source code to call the SSLWorkerThread class instead of the WorkerThreadImpl class in LinkedListPipeline because I was getting a ClassCastException when using two-way ssl:
16:06:50,796 INFO [STDOUT] Using SSLEngineImpl.
16:06:50,796 FINE [GRIZZLY] workerThread.httpExceptionjava.lang.ClassCastException:
com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl cannot be cast to com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread
at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:208)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:117)
16:06:50,796 DEBUG [GRIZZLY] workerThread.httpException
java.lang.ClassCastException: com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl cannot be cast to com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread
at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:208)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:117)
Some info I also attached the log file:
I'm deploying a servicemix-3.3.1 war in JBoss 5.1.0 using Grizzly version 1.0.30 I tried updating to 1.0.40 and saw no difference in error
Grizzly 1.0.30 running on Windows XP-5.1 under JDK version: 1.6.0_26-Sun Microsystems Inc.
port: 9080
maxThreads: 5
ByteBuffer size: 8192
useDirectByteBuffer: 8192
maxKeepAliveRequests: 256
keepAliveTimeoutInSeconds: 30
Static File Cache enabled: false
Pipeline : com.sun.jbi.httpsoapbc.embedded.LinkedListThrottlePipeline
Round Robin Selector Algorithm enabled: false
Round Robin Selector pool size: 0
Asynchronous Request Processing enabled: true
Here are the sun-http-binding config properties for servicemix
ClientAuthEnabled=true
NonProxyHosts=localhost|127.0.0.1
ProxyPort=0
HttpDefaultPort=9080
ProxyPassword=
ProxyUserName=
ProxyType=DIRECT
UseJVMProxySettings=false
ProxyHost=
HttpsDefaultPort=9181
OutboundThreads=100
And then I receive this error when I try to hit the deployed composite service with two-way SSL
2011-09-02 11:01:58,257 INFO [STDOUT] Using SSLEngineImpl.
2011-09-02 11:02:28,491 INFO [STDOUT] httpWorkerThread-9181-3, called closeInbound()
2011-09-02 11:02:28,491 INFO [STDOUT] httpWorkerThread-9181-3, closeInboundInternal()
2011-09-02 11:02:28,491 INFO [STDOUT] httpWorkerThread-9181-3, closeOutboundInternal()
2011-09-02 11:02:28,491 FINE [GRIZZLY] doHandshake
java.io.EOFException: Connection closed
at com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils.doHandshake(SSLUtils.java:355)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doHandshake(SSLReadTask.java:291)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
2011-09-02 11:02:28,491 DEBUG [GRIZZLY] doHandshake
java.io.EOFException: Connection closed
at com.sun.enterprise.web.connector.grizzly.ssl.SSLUtils.doHandshake(SSLUtils.java:355)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doHandshake(SSLReadTask.java:291)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
2011-09-02 11:02:28,491 INFO [STDOUT] Using SSLEngineImpl.
Thank You for your help