Hi peoples, 

Ahh good to be back, sorry for the long hiatus. Still using and playing 
servicemix. (so people out there know, we are currently playing with
Servicemix as a War starting up in Websphere 6.1.02) seems good so far.
Kudos to Grant for the hard work there.

On a different matter, I have a slightly complex, but none the less
do-able use case of the http-endpoint and I am wondering if there is a
way this can be handled, or indeed if it is currently supported, in any
form.

Imagine if you will, I have three actual endpoints, and each one 
will accept a different, unique XML message as it's MessagExchange. 
These XML requests conform to a WSDL that each JBI endpoint itself,
exposes... so, for example.

Our ultimate goal is to do some fancy combinations of one http-binding
URL to "interfaces" across 3 or four endpoints

For my little scenario ep=endpoint, iX=interface(ie, porttype)
The three endpoints expose more than one interface.

ep1 accepts
 <GetCurrBalance xmlns="http://someurn";><id>123</id></GetCurrBalance>
 .. and some others
ep2 accepts 
 <GetDates xmlns="http://someurn";><id>123</id></GetDates>
 .. and some others
ep3 accepts 
 <GetOpenBal xmlns="http://someurn";><id>123</id></GetOpenBal>
 .. and some others

Now,  suppose if you will, that I want two http:endpoints

hb1 - http://server:8192/someURL/balanceStuff

and 

hb2 - http://server:8192/someURL/generalStuff


                                 __ ep1,i1
                                /
hb1 http://../balanceStuff -------- ep2,i2
                                \
                                 `-- ep3,i4

                                 __ ep1,i3
                                /
hb2 http://../generalStuff -------- ep2,i5,i6
                                \
                                 `-- ep3,i7



Now the observant would notice that two of the "message types" are
related to balances, and that one of the ep2 message types is related
to, perhaps generalStuff.

What I would "like" to do, is to 
(a) have the balanceStuff (hb1) WSDL expose the combined WSDL of
endpoints ep1, ep2 and ep3 but only certain interfaces of that WSDL.

(b) have a message sent to hb1, automatically route to ep1, ep2 or ep3
depending on who actually can handle the message. (more on this below)

(c) not have to use "static" WSDL files everywhere (we have 30 +
opeartions, and growing rapidly)

Regarding (a), the http:endpoint by reading it's documentation states
that when used as an xbean deployment with NO wsdlResource, it will
locate the wsdl to expose from the endpoint it is the consumer for
Sounds good, can it do more than one endpoint ?
                   

Regarding (b), the JBI spec states that a message is routed in order 
of specificity based on the interfaces, service, then endpoint.
Because "interface" (wsdl 2.0)  is specified as the portType in 1.0,
would it not be possible to just make sure each message "accepted" is
for a unique interface, one that 1 and only one endpoint provides. ie
can I route just based on the interface alone that is effectively
provided by the client, and is the interface in a WSDL for the
http-endpoint sufficient to do the job.

Regarding (c), can one http-endpoint be bound to more than one endpoint
such that routing automagically occurs based on interface matching ?

I know this is a bunch of Ideas here, but I was wondering if it's
already in there and I don't know about it or something else.

Our fallback option is to use a monolithic WSDL for each endpoint
exposed on a few http-endpoints and to use EIP xpath routing to switch
the messages around where there is a "one to many" for one httpbinding
endpoint to "JBI endpoint" mapping.


It's just that the management of this xpath routingwill become bigger
than we want it, and one of these endpoints allows some pretty fancy
dynamic changes to the WSDL and a static config breaks it's very nature.

phew .. take a breath.

hope that makes sense.

r.,



Reply via email to