W3C home > Mailing lists > Public > www-ws-desc@w3.org > June 2005

example of using MIME types in operations

From: Jacek Kopecky <jacek.kopecky@deri.org>
Date: Tue, 21 Jun 2005 12:56:13 +0200
To: WS-Description WG <www-ws-desc@w3.org>
Message-Id: <1119351373.3323.32.camel@Kalb>

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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:36 GMT