I guess I was not very clear. I was only talking about the fact that the http component would create a management JBI endpoint. This endpoint would receive requests to create / destroy endpoints. For a consumer endpoint, just giving the service name / endpoint name of the target endpoint should be sufficient. For a provider endpoint (for example an external web service), the wsdl url should be fine. There is no deployment of SU involved here. Btw, I guess we may also relate this to auto-discovery of services via UDDI.
James just suggested another method for REST endpoints (soap endpoints could use WS-Addressing as a workaround). The http component would create an http consumer endpoint and the http request url would be encoded in such a way that it could retrieve the target destination and send the jbi exchange to it. For example, http://localhost:8080/jbi/com/foo/bar may be mapped to {http://com.foo}bar service. I 'm not sure what's the best way to encode such url. This could also apply to jms component. The standard way however is the one you mentioned (using xbean or wsdl deployment), but you first talk about a programmatic way to do that... Cheers, Guillaume Nodet On 3/31/06, Stefan Klinger <[EMAIL PROTECTED]> wrote: > Guillaume, > > Initialising from wsdl is fine, but in the current state, I would have > to generate the wsdl on-the-fly, save it to a file which is then picked > up by the Deployer. I just wondered, wouldn't it be much easier, if I > just generated the service units with the (http)-endpoints and register > them with the (http)-component? Removing endpoints would just be the > case of de-registering the service-units from the (http)-component. Or > have I missed something? > > Thanks, > Stefan > > Guillaume Nodet wrote: > > >I guess this is exactly what > >http://issues.apache.org/activemq/browse/SM-283 is about. > > > >I would really do that as a jbi endpoint with a wsdl (that could be > >exposed over http of course). I think the wsdl should not be specific > >to the http component (if possible) so that the same wsdl can be used > >for other BCs. If you add a method on the interface to check if a > >protocol is supported, you could easily discover all BC in the bus and > >ask them to create a proxy endpoint. Protocol could be some simple > >string like "http", "jms" (maybe "http+soap" ?). All BCs may need > >some default parameters so that just the JBI endpoint would be > >sufficient to create the proxy endpoint. > > > >Cheers, > >Guillaume Nodet > > > >On 3/30/06, Stefan Klinger <[EMAIL PROTECTED]> wrote: > > > > > >>Hello, > >> > >>I just wondered what the best way is to add and remove http endpoints > >>dynamically online. I know that you can deploy them using either wsdl or > >>xbean, but is there also a way to do this programmatically while SM is > >>running? I would like to expose this functionality via a web service > >>which other web service providers can access to add/ remove themselves > >>as provider endpoints for SM. > >> > >>Thanks, > >>Stefan > >> > >> > >> > > > > > > > >
