users@grizzly.java.net

FW: Grizzly SSL Connection Closed Error

From: Bessette-Halsema, Dominique E <Dominique.Bessette_at_GDIT.com>
Date: Tue, 6 Sep 2011 17:15:28 -0400

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







image001.png
(image/png attachment: image001.png)

image002.png
(image/png attachment: image002.png)