WS-* support

I was wondering, what the support is on WS-* standards in the various JBI components? I have tried to use WS-Addressing combined with the XSLT SE and HTTP BC for message transformation, but I can't seem to get WS-Addressing to work good.

Using glassfish and open-esb, WS-A kind of works when I use the request-response option in XSLT, in the fact that I can post WS-A to it, but the response has no WS-A headers.

I have the idea that has to do with sun-http-bc, and the way it put various soap headers and standards into the normalized message, but Im not entirely sure.

Anyway, does anybody here have any experiences or ideas with this? Im making a proof-of-concept for a company, and ideally I would want to use WS-Addressing, WS-Security and maybe WS-ReliableMesssaging.

Thanks in advance!

[828 byte] By [corstijanka] at [2007-11-27 4:18:54]
# 1

The HTTP BC makes use of WSIT to provide support for the various WS-* standards. As such, to make it "work" in HTTP BC is to use the same type of configuration that WSIT requires.

That means for server implementations, you have to include the policies in the WSDL. For the client implementations, we have to use the correct client configuration files. We've gotten it to work properly in server mode, but we're having a few problems getting client configuration files into the Service Units for particular BCs.

With regards to your other issue about seeing the WS-* headers in the various SEs. Currently, HTTP BC doesn't propagate these headers. There are a couple of schools of thought regarding if we should propagate these headers. The SEs are generally dealing with just the abstract portion of the WSDLs so unless the abstract parts of the WSDLs have these headers defined, HTTP BC doesn't forward them. Except for WS-Addressing, this school of thought also argues that we don't really want to propagate these headers farther up the stack. Another school of thought argues that we need to expose all of these headers though. I think with WSIT, we chose the former rather than the latter.

Hope this helps!

Alex

amfunga at 2007-7-12 9:25:45 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

thanks, that was already quite helpful and insightful.

I figured out how to do some wsdl config through various WSIT tutorials and info. I do not have examples here now (at home... stuff is at work). One experiment I tried was to set up a simple xslt service with a http bc with ws-addressing support. If sun-http-bc does not propagate the header info, I ponder on what one could get to work?

Bare SOAP over http works fine..splendid even; I am just curious as to what standards of WSIT(seeing that a lot of WS-* standards depend on WS-Addressing) I could get to work over http...or for that matter.. JMS (though that is another issue)

Its getting late here though..more experiments tomorrow :-)

corstijanka at 2007-7-12 9:25:45 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3

What's the specific use case that you require for propagating the WS-Addressing headers to a service engine? Perhaps that'll help drive development of those products...

With regards to HTTP BC and WSIT, I've tested a little bit with the WS-Security standards. I have a project where I use a Web Application (war file) to invoke a JBI project that implements the service. The policies use mutual, symmetric authentication. It does require some external setup of usernames/passwords and keystores/truststores. I can provide that to you if that'll help.

Alex

amfunga at 2007-7-12 9:25:45 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 4

Basically, what I am trying to accomplish is to use the xslt engine, combined with http (and maybe JMS) connectors, to set up a service filter; translating a request and reply from schema x to schema y.

It's a part of a proof-of-concept soa; where I want to use WS-Addressing on services to ensure that messages are as much transport-independant as I can make them. So, that means that both the xslt filter as the services interacting with it will use WS-Addressing.

The complete use case / idea is written in dutch, so that is kind of hard to provide here quickly.

This in its own should not require propagating WS-A headers...but I have also been pondering making a service router, based on WS-A endpoints; that would require access to said headers at least. Though... perhaps there is something that can be done with JAX-WS handlers/tubes on the sun-http-bc side?

In the bigger picture, I am also looking to use WS-Security, so your example, if you could provide would be very helpfull :-)

corstijanka at 2007-7-12 9:25:45 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...