example of using MIME types in operations

Hi all, 

here's an example of how MIME media types could be used as a type system
in WSDL. I think it only needs very little verbiage around to make it
fit in the appropriate place in the primer or wherever it should go. It
should say the MIME extension (on the line with the XML comment) is not
formally specified, it is just a mock-up example, but if specified, it
would introduce the attribute wmime:type and it would extend the HTTP
binding to be able to handle MIME-typed binary messages.

Is this helpful, do you think? 8-)

Jacek


<?xml version="1.0" encoding="utf-8" ?> 
<description 
    xmlns="http://www.w3.org/2005/05/wsdl"
    targetNamespace= "http://example.com/images" 
    xmlns:tns= "http://example.com/images"
    xmlns:sns= "http://example.com/imagesSchema"
    xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap"
    xmlns:whttp="http://www.w3.org/2005/05/wsdl/http"
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope">

	<types>
		<xs:schema targetNamespace="http://example.com/imagesSchema">
			<xs:element name="imageID" type="xs:string" />
		</xs:schema>
	</types>

	<interface  name="imageRepositoryInterface" >
   
		<operation name="opDownloadImage" 
				pattern="http://www.w3.org/2005/05/wsdl/in-out"
				style="http://www.w3.org/2005/05/wsdl/style/uri"
				wsdlx:safe = "true">
			<input messageLabel="In" 
				element="sns:imageID" />
			<output messageLabel="Out" 
				wmime:type="image/*" />   <!-- this is how simple it could be -->
		</operation>
	</interface>

	<binding name="imageRepositoryHTTPBinding"
		 interface="tns:imageRepositoryInterface"
		 type="http://www.w3.org/2005/05/wsdl/http"
		 whttp:methodDefault="GET">

		<operation ref="tns:opDownloadImage"
			whttp:location="{imageID}"  />
	</binding>

	<service name="imageRepositoryService"
		 interface="tns:imageRepositoryInterface">
		<endpoint name="repositoryEndpoint"
			binding="tns:imageRepositoryHTTPBinding"
			address="http://example.com/images/"/>

	</service>
</description>

Received on Tuesday, 21 June 2005 10:56:23 UTC