- From: Dale Moberg <dmoberg@cyclonecommerce.com>
- Date: Fri, 6 Dec 2002 11:15:22 -0700
- To: <www-ws-desc@w3.org>
- Message-ID: <9551E76040A2604BBD331F3024BFEA4801598BB8@SEMINOLEVS2.cyclonecommerce.com>
At the face to face, there seemed to be some interest in reconciling the following: 1. Removing Message (and Part!) from the wsdl interface definitions while 2. Supporting MIME multiparts (or, at least, SOAP with attachments), 3. providing for nonXML data (the "jpeg case") in attachments, and also 4. adhering to the use of complexType (and perhaps also group) when specifying XML for inputs, outputs, faults. Some other constraints were: Arthur indicated that he wanted item 2, and suggested that doing 2 required hanging onto at least the "Part" concept. I will call this into question below. Gudge endorsed being able to use schema complexTypes, etc so that they can be used for validation. I intend to try to adhere to this constraint. Roberto, however, proposed to have a wsdl processor use pieces of the complexType to "code for" pieces of MIME apparatus or for nonXML data-for example, by assigning a base64 xsd:type to jpegs. This seems to conflict with Gudge's vision of the use of the schema, and so deserves careful critical scrutiny. Now, first a MIME packaged byte stream is not even well formed XML. Second, it seems somewhat pointless to specify nonXML data (like jpegs) as XML's base64 datatype as part of a complexType. Possibly this can be done, but its value is unclear -- being valid base64 character data implies nothing about being a valid jpeg data stream, not to mention that base64 encoding is not needed on the wire when using HTTP for jpegs in their own MIME attachment... As others have suggested, I think the MIME binding (as well as SOAP enveloping of inputs/outputs in SOAP body blocks, for that matter) should all be described within a wsdl:binding element. For example, sending multiparts each of type XML, it should be possible to reference multiple inputs, each with a complexType wsdl:type. The binding would then declare how this XML grove is spread over the multipart MIME, and the constituent XML bodyparts. Certainly this is not an RPC style interface and we should not expect just one input in the definition of a multipart to work in the general case. When multiparts of XML and jpeg (nonXMLdata) are being sent, then likewise multiple inputs would be referenced. The input type for nonXMLdata could be handled according to the agreed upon extensions for nonXML datatypes. In keeping with one of the two extension techniques that have achieved consensus approval, we could possibly have an attribute a URL/URI that points to/identifies the specifications containing their MIME content-type registrations. In short, let the functionality of message and parts be provided by multiple referencing of inputs (and/or outputs and faults, as appropriate) in the binding. By doing this we allow bindings to describe MIME (or DIME or BER or ...) packaging, and do not need a "part "construct in the description of interfaces (the inputs, outputs, and faults). Meanwhile bits of XMLschema can be used for validity checks without being required to sort out parts of schema that "code for" aspects of packaging or that describe nonXMLdatatypes.
Received on Friday, 6 December 2002 13:15:56 UTC