- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 7 Mar 2006 10:43:23 -0500
- To: "Mark Baker" <distobj@acm.org>
- Cc: "Christopher B Ferris" <chrisfer@us.ibm.com>, "Jean-Jacques Moreau" <jean-jacques.moreau@crf.canon.fr>, mbaker@gmail.com, xml-dist-app@w3.org
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