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