Thanks I really need to get my WSDL stuff out again.

I suppose I was confused by the use of the interface name in the JBI examples; 
however I now believe that they are building a registry within the Component to 
lookup interface names and map them back to service-names and endpoints.

I suppose at some point I will have to try and set up a proper example that 
uses a QName that actually resolves to a real WSDL document :)

Cheers

P


-----Original Message-----
From: Alexandre Alves [mailto:[EMAIL PROTECTED] 
Sent: Monday, August 15, 2005 6:29 PM
To: [email protected]
Subject: Re: [servicemix-dev] ServiceEndPoints and Connections

Philip,

It is kind of awkward that a ServiceEndpoint does not
have a setter for 
'interfaces', so I think what suppose to happen is
that 
'getServiceDescription()' has to return the
appropriate WSDL document 
for the particular service endpoint, that is, it has
to return a 
document fragment containing a 'wsdl:port' element.
From the 'wsdl:port' 
element, one can reference its 'wsdl:binding', and
hence its 
'wsdl:portType', which is the interface name (for WSDL
1.1). Each 'port' 
(or endpoint) can point to different portTypes, which
means a service 
can provide for a set of interfaces.

Rgds,
alex

Philip Dodds wrote:

> I have been working to try and understand the
connections architecture 
> in the jbi.xml and how it is best implemented? As I
understand it the 
> SUM is responsible for creating the ServiceEndPoints
for a SA, it will 
> basically activate each of these, in the jbi.xml you
can reference 
> provides and consumes, however the container just
ignores these and 
> they are really just there for third-party tools
that might want to 
> show what is available.
>
> The only bit the container seems to be interested in
is the 
> connections/connection, as I understand it if I have
a service 
> starting an InOnly exchange (in the example this is
the 
> quartz:QuartzProvider) and another service wishing
to receive that 
> message (the logger:LoggerConsumer) then I can join
them up using the 
> jbi.xml as shown below:
>
> *<connections>*
>
> * <connection>*
>
> * <consumer service-name="quartz:QuartzProvider"*
>
> * endpoint-name="Notification" />*
>
> * <provider service-name="logger:LoggerConsumer"*
>
> * endpoint-name="Consumer" />*
>
> * </connection>*
>
> *</connections>*
>
> * *
>
> So under this model I can write JBI services that do
not need to know 
> where they publish to since that can be mapped in
the jbi.xml. 
> However, there are a few bits I don’t understand.
>
> The connection was originally made through an
interface-name, however 
> in my SUM I can’t see how I can activate an
ServiceEndPoint to an 
> interface-name, in fact I can’t see how interface
names work in the 
> context of a ServiceEndPoint, I though that they
were a way of 
> specifying a endpoint without a service name or
endpoint name. Much is 
> made in the specification about WSDL and interfaces
and I would like 
> to understand how that is tied to the endpoints, I
assumed that I 
> could expose multiple interfaces to a service
through different endpoints?
>
> Next up it while when I create an exchange I can
specify the name of 
> the endpoint on which I wish to create the message I
don’t see how 
> this is achieved on a delivery channel, should I
implement a delivery 
> channel helper that is able to receive messages and
then send them to 
> a specific endpoint, and if so how I do determine
the end point to 
> which a message is destined? This goes back to my
first question which 
> is really around exposing different interfaces to a
service and being 
> able to deliver the messages to those interfaces so
that I am able to 
> denote different endpoints?
>
> So many questions! J
>
> Cheers
>
> P
>



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to