OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ws-dd message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: Issue 137 - DPWS - Discovery/Service types WSDL attribute

What happens if you have a device that has multiple services in it? Which discovery type would actually be used? Is the assumption that they would all have the same discovery type? This seems to completely defeat the reuse of standard services in multiple device classes.


Toby Nixon  |  Senior Standards Program Manager  |  Windows Device and Storage Technologies  |  Microsoft Corporation

toby.nixon@microsoft.com  |  www.microsoft.com | V: +1 425 706 2792  |  M: +1 206 790 6377  |  F: +1 425 708 4811


From: Dan Driscoll [mailto:Dan.Driscoll@microsoft.com]
Sent: Monday, January 12, 2009 11:32 AM
To: Ram Jeyaraman; ws-dd@lists.oasis-open.org
Subject: [ws-dd] RE: Issue 137 - DPWS - Discovery/Service types WSDL attribute


I keep forgetting to add a concrete example of what this would look like.  Sorry for the delay.


The proposed addition is highlighted.







        ... >


        <!-- WSDL Types and Messages go here -->


        <wsdl:portType name="WSDToasterService" dpws:DiscoveryType="tns:WSDToasterDevice">

                <!-- WSDToasterService operations go here -->



        <!-- optionally, also include an empty portType for the device-layer type. -->

        <wsdl:portType name="WSDToasterDevice" />





From: Ram Jeyaraman [mailto:Ram.Jeyaraman@microsoft.com]
Sent: Tuesday, December 16, 2008 7:52 PM
To: ws-dd@lists.oasis-open.org
Subject: [ws-dd] Issue 137 - DPWS - Discovery/Service types WSDL attribute


This issue is assigned the number 137. For further discussions on this issue, please refer to this issue number or use this thread.


From: Dan Driscoll
Sent: Tuesday, December 16, 2008 4:54 PM
To: Ram Jeyaraman
Subject: NEW Issue - DPWS - Discovery/Service types WSDL attribute


This issue covers the case where we need an automated way to identify the empty discovery-layer portType from the Hosted Service type.  Unless otherwise overridden in another spec, I expect all applications require a discovery-layer type to advertise at the Device endpoint.  We can generate much better code for these applications by inspecting these in the WSDL that defines the service-layer portType.


Richer type description languages may also be defined outside of DPWS 1.1, but this lightweight solution meets a basic requirement for all WSDLs built for DPWS.


This mechanism cannot be mandatory, since some non-DPWS WSDLs are sometimes hosted in DPWS devices, and it is unreasonable to change the WSDL solely to fit into DPWS.


I propose adding an Appendix that describes how applications may add an attribute to identify this discovery-layer type.


Proposed addition:


Appendix ??? – Declaring Discovery Types in WSDL

Solutions built on DPWS often define portTypes implemented by Hosted Services, and a discovery-layer portType implemented by the Host Service so the presence of these functional services can be determined at the discovery layer.  The binding between a service-layer type and its discovery-layer type can be defined purely in descriptive text, but this appendix provides an optional mechanism to declare a discovery-layer type inside WSDL that can be consumed and understood by tools.


This appendix defines @dpws:DiscoveryType attribute to annotate the portType for the service-layer type.  The normative outline for @dpws:DiscoveryType is:


<wsdl:definitions …>

    [<wsdl:portType [dpws:DiscoveryType=”xs:QName”]? >





The following describes additional, normative constraints to the outline listed above:



               The name of the portType to be advertised by the Host Service to indicate that this device supports the annotated Hosted Service portType.


                If omitted, no implied value


[example usage follows]

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]