I've added a simple HTTPS test and with HTTPS we have no luck at the moment,
CxfJettySslSocketConnector extends Jetty SslSocketConnector and calling continuation.suspend(timeout) simply blocks the calling
thread.
I've checked the archives and I believe at a time SslSelectChannelConnector[1] was considered unstable so instead a blocking
SslSocketConnector was picked up.
Any thoughts on what would it take to upgrade CxfJettySslSocketConnector to use
SslSelectChannelConnector ?
Thanks, Segey
[1]
http://www.mortbay.org/jetty/jetty-6/apidocs/org/mortbay/jetty/security/SslSelectChannelConnector.html
Question : how will SMX CXF Binding Component interact with (Jetty) continuations when dealing with CXF-originated invocations ?
The Continuation wrappers will be available through an internal CXF input Message and through JAXWS WebServiceContext (or JAXRS
one later on) - will CXF BC be able to get hold of such wrappers ? If yes then I guess we have no problems at all ?
Yes, I think so, get continuation from cxf message
(org.apache.cxf.message.Message) is fine for CxfBcConsumer.
super.
I've just copied the relevant code only to sandbox as I didn't manage to create
a branch :
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations
Some comments. You can see in :
1. The wrapper interfaces for ContinuationSupport and Continuation in
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/api/src/main/java/org/apache/cxf/continuations
2. How PhaseInterceptorChain deals with suspended exceptions in
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/api/src/main/java/org/apache/cxf/phase/PhaseInterceptorChain.java
3. How AbstractInvoker deals with suspended exceptions in
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/rt/core/src/main/java/org/apache/cxf/service/invoker/AbstractInvoker.java
4. How ChainInitiatorObserver deals with resuming an invocation chain in
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/rt/core/src/main/java/org/apache/cxf/transport/ChainInitiationObserver.java
5. Jetty-specific continuation wrappers in
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/continuations
6. How JettyDestination deals with continuations :
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
7. System tests :
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations
See the server code on how the test code interacts with continuations through
wrappers :
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/HelloImplWithWrapppedContinuation.java
and how it does so directly
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/HelloImplWithContinuation.java
check
https://svn.apache.org/repos/asf/cxf/sandbox/2.2.x-continuations/systests/src/test/java/org/apache/cxf/systest/jaxws/continuations/jetty-engine.xml
on how a jetty engine on a specific port can be told to ignore continuations which are supported by default if true is set or that
attribute is omitted (not used in the test though)
Ok - you can now see it it so shoot :-) Comments are welcome
Sergey