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.,
