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 dont understand. > > The connection was originally made through an interface-name, however > in my SUM I cant see how I can activate an ServiceEndPoint to an > interface-name, in fact I cant 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 dont 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
