Re: multiple MEPs per binding

Mark Baker writes:

> On 3/7/06, Jean-Jacques Moreau <jean-jacques.moreau@crf.canon.fr> wrote:
> >
> > Noah Mendelsohn wrote:
> > > * Always, or almost always, if a binding supports more than
> one MEP, then the one in use will have to be discoverable from 
> information in the non-envelope part of the transmission.
> > .. or out-of-band!
> 
> Eek!  I hope not.  8-O That would mean that two byte-for-byte
> identical messages might have different meaning dependent upon what
> service receives it.  Amoungst other things, that would rule out many
> asynchronous cases where, if the WSDL changes between the time the
> message is sent and received, then communication becomes ambiguous.
> 
> If it's important to the meaning of the message, it should be in the
> message IMO.

I strongly agree with Mark on this.   It's very important on the Web and 
in other flexible networks that individual messages be reasonably 
self-describing.  IMO, the role of WSDL is to give advance information and 
a way of documenting contracts in advance >for those who wish to have that 
advance knowledge<.  In general, it is undesirable to rely on such out of 
band information in determining what the protocol is.   Some judgement is 
required in all this, but as  general rules of thumb I have tried to 
follow over the years:

* WSDL should not be required to use SOAP properly, or to successfully 
implement a given use of SOAP.

* Even if one end of the connection benefits from having WSDL for planning 
its code, the other end should not necessarily require it.  For example, 
you can easily imagine a large scale enterprise that offers services to a 
wide range of communicating partners.  The large enterprise uses WSDL to 
define its interfaces, and to help generate its code.  It offers the WSDL 
for those partners who wish to use it in preparing their code.  On the 
other hand, if some PERL or PHP programmer wants to just get the SOAP 
message, look at it, and respond to it, they should be able to just read 
the SOAP and HTTP specs, and follow their noses from their.  I.e.  HTTP 
well tell you things like the WebMethod and the media type 
application/soap+xml, which will determine that SOAP is in use and which 
SOAP MEP to use.  Once you know that, you know to use the SOAP processing 
model on the message, and therefore that you need to understand the QNames 
of the header, the contents of the body, etc.  No WSDL required.

Noah

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------

Received on Tuesday, 7 March 2006 15:43:55 UTC