I was going to say that WS-Eventing supported the concept of pulling events from a source, but as of *yesterday*, the spec has changed considerably and no longer covers this. Instead, WS-MakeConnection is referenced. :-)

At a tangent, WS-MetatdataExchange seems to be being used for a number of out-of-bound considerations in different specs (for example, in terms of WS-Eventing, finding out what the sink interface should look like).

Are there any plans to support WS-MetadataExchange in CXF?

cheers,

Andrew



On 25 Sep 2009, at 20:12, Daniel Kulp wrote:

On Thu September 24 2009 7:01:26 pm john.greeley wrote:
Isn't this type of "backchannel" delivery covered by WS- MakeConnection
(http://docs.oasis-open.org/ws-rx/wsmc/200702)

On a related note, are there any plans to implement the newer OASIS WS-RX
specs (WS-ReliableMessaging and WS-MakeConnection)?

At one point, Eoghan was looking at it, but I know he's busy on unrelated
things right now so no work as started toward it.    :-(

Dan



dkulp wrote:
On Tue June 9 2009 11:02:15 am sol myr wrote:
Hi,

Does CXF support WS-Polling (http://www.w3.org/Submission/ws-polling/)?

Nope. I actually had to find someone that new something about it to
give me
some history on it as this is one of the WS-* things I really hadn't
heard much about.   (Thanks for the chat Glen Daniels!)

Basically, from a "spec" standpoint, it doesn't look like it has really
gone
anywhere.   Submitted in 2005, and pretty much nothing since then.
Neither
Glen (PMC of WS/Axis2) nor I could really find anyone that has
implemented it.

That said, it's not a bad idea and definitely would have some use cases.

Or some similar mechanism for one-way HTTP connections?

For those unfamiliar with WS-Polling, please note it's not
"response.isDone() polling"...

WS-Polling means that when a service finishes calculating a response,
it doesn't send it back to the client, but rather stores it on the
server machine, until the client asks (polls) for it, using a dedicated
protocol.

In CXF, this part really wouldn't be that hard to implement.    An
interceptor
that runs immediately after the ServiceInvoker interceptor could store the message/exchange in a map on the Service or similar and then pause
the chain.
When a request comes in to obtain the result, look it up from the Service
and
resume the chain. Obviously some protocol mapping in there, but nothing major and no different than what is done for WS-SecureConversation and
similar.

That's low-level control on the way/timing responses travel on the wire
- as opposed to "response.isDone()" which is an abstract API that
assumes nothing about the underlying connection management (we would be glad if this API could transparently use WS-Polling behind the scenes).

THIS is where the harder part is in CXF.   This would require some
refactoring
of the client side stuff to get the "isDone()" to call call back into the protocol stack to get the result. Nothing too major, but definitely
would
require some more thought.

In anycase, it's definitely something that has NOT been on the radar
screen
for CXF. If it's something you'd like to tackle and submit patches
toward
it, that would be great.   I'd be happy to help out "mentoring".

Dan

We became interested in WS-Polling after eliminating some other options:

- WS-ReliableMessaging is an overkill for us: our messages are not
critical, and don't need reliability.

- WS-Addressing with <ReplyTo> is problematic because our clients are
not allowed to open a ServerSocket.



Thanks very much.


--
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to