Thanks, I think I do understand now. Just to recap, the JBI management
endpoint would be a consumer endpoint of my http-component. What form
would the JBI endpoint have? I guess that it should be another generic
JBI component that takes care of the creation/ destruction of other jbi
service units/ endpoints and external endpoints. Or is that done within
the http-component itself? I would prefer another component as it can be
exposed using wsdl and http+soap...
Stefan
Guillaume Nodet wrote:
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