- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 4 Aug 2004 17:17:25 -0400
- To: <paul.downey@bt.com>
- Cc: mgudgin@microsoft.com, xml-dist-app@w3.org
Paul Downey writes: > This does raise another use for the test pack: in > practically divining the lowest common denominator of > functionality actually supported by a set of > implementations which are expected to interoperate. Exactly my point. The Recommendations themselves intentionally avoid going very far in this direction. They do make clear that you have to use SOAP envelopes, that each envelope needs a body, etc., but most other things are optional. Having a large bucket of test cases that can be applied >as appropriate< is very useful. The trick is to avoid backing into defining levels of conformance without doing it carefully. It may be that somebody would want to write a specification for one or more sorts of general purpose SOAP implementations, and might e.g. require that conforming implementations demonstrate an ability to send a range of headers, multiple headers, etc. The SOAP Rec itself doesn't actually require that you do much of anything. It does say that what you choose to do must obey certain rules: you don't have to send any headers, but any you send must be properly formed, etc. -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- <paul.downey@bt.com> 07/29/2004 09:41 AM To: <noah_mendelsohn@us.ibm.com>, <mgudgin@microsoft.com> cc: <xml-dist-app@w3.org> Subject: RE: Thoughts on MTOM testing Noah, thanks, some interesting points. we see two key benefits for developing a good comprehensive set of test cases for SOAP and WSDL: 1) testing can only improves the overall quality of a specification as outlined in the W3C QA Handbook. it highlights ambiguities, anomalies and finds inconstancies in the specification. 2) testing using real implementations drives forward implementations improving actual interoperability. The partial implementation issue you raise WRT the traffic lights does concern, but i hope hasn't confused me. SOAP includes a good mustUnderstand model, so in the case of an implementation using an required extension or feature, correctly failing on the basis of not understanding a required header would not be a fail. This does raise another use for the test pack: in practically divining the lowest common denominator of functionality actually supported by a set of implementations which are expected to interoperate. I may choose to simplify or provide an alternative simple service if i expect to interoperate with the traffic lights as well as higher functioning parties, but i need to know exactly what to simplify. Please note, our motivation for encouraging as much practical interoperability testing as possible is not to 'finger-point' at vendors. The success of Web services depends upon actual interoperability of production software. A test pack which may be used to regressively demonstrate practical interoperability of implementations can only be of benefit to us all when selling the Web services vision. Paul -----Original Message----- From: noah_mendelsohn@us.ibm.com [mailto:noah_mendelsohn@us.ibm.com] Sent: 28 July 2004 22:48 To: Martin Gudgin Cc: Downey,PS,Paul,XSJ67A C; xml-dist-app@w3.org Subject: RE: Thoughts on MTOM testing Paul Downey writes: > > FWIW i'm trying to put together some test cases for the WSD > test pack and will try to incorporate as many tests as the XMLP WG > elect to provide combined with WSDL 2.0 descriptions. Paul: the XMLP group also informally suggested that I make here a point that we discussed on our telcon today. It's easy to get confused about conformance requirements for something like SOAP, which is ultimately a wire format. Based on the SOAP Recommendation you can distinguish valid from invalid SOAP messages, and you can determine certain things about the correct interpretation (at a given node) of those that are valid. On the other hand, and this often causes confusion, the SOAP Recommendation does not have conformance rules for what you might call a general purpose SOAP implementation. Let's imagine that I am building an embedded system, for use in a traffic light perhaps, and I know that in this particular application no SOAP headers will ever be needed. According to the SOAP Rec. it's just fine for me to build software that is incapable of sending SOAP headers, as long as the messages I do send conform to the Recommendation. Viewed differently, what value is there in me being forced for conformance reasons to build software into my traffic light if that software (I.e. software to send headers) will never be executed? The SOAP Recommendation is carefully worded to allow such flexibility. Of course, nothing prohibits anyone from building an additional specfication to try and standardize the features that might be found in more general purpose implementations, but the SOAP recommendation doesn't do that. I mention all this because any discussion of developing test cases for SOAP needs to be seen in the above context. There are indeed many useful test cases that you can create; indeed we've got some at [1] but we carefully note that: "Even though the purpose of the SOAP 1.2 Test Suite is to facilitate the creation of interoperable implementations, conformance to the SOAP 1.2 Test Suite does not imply conformance to the SOAP 1.2 specifications; there are mandatory requirements of the specifications that are not tested by the suite (as a simple example, SOAP 1.2 requires that every legal value of a role name is accepted, and all illegal ones rejected). An implementation may be said to be SOAP 1.2 conformant if and only if it it satisfies the conformance requirements specified in SOAP 1.2 specifications. The W3C does not at this time provide for any comprehensive means of testing for such conformance. Similarly, an implementation may conform to the SOAP 1.2 specifications even if it does not support all capabilities tested by the SOAP 1.2 Test Suite. SOAP 1.2 specifications admits special purpose implementations, such as those in dedicated controllers, which may send and receive only a very limited suite of messages; the requirement is that whatever is done be done correctly. An implementation may conform to the SOAP 1.2 specifications even if it does not support all capabilities tested by the SOAP 1.2 Test Suite. The test suite defines higher level application semantics to enable testing and facilitate interoperable implementations. It is not necessary for a SOAP processor to support these higher level semantics to be SOAP 1.2 compliant." I'm not sure how this reflects on WSD test cases, but any test cases developed for SOAP should be seen in the above context, I think. Thank you. Noah [1] http://www.w3.org/TR/2003/REC-soap12-testcollection-20030624/ -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 --------------------------------------
Received on Wednesday, 4 August 2004 17:24:19 UTC