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: Issue 085 - DPWS - Possible confusion around use of MEX


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

 

From: Scott de Deugd [mailto:dedeugd@us.ibm.com]
Sent: Tuesday, November 18, 2008 2:58 PM
To: Ram Jeyaraman
Cc: Doug Davis; Travis M Grigsby
Subject: New Issue DPWS - Possible confusion around use of MEX


Document: wsdd-dpws-1.1-spec-wd-02
Line numbers:  326, 329, 417
Owner: Scott de Deugd
 
Possible confusion around use of MEX

Document: wsdd-dpws-1.1-spec-wd-02
Line numbers:  as noted
Owner: Scott de Deugd
 
Description: Possible confusion around use of MEX
Spec Change:

Background:
DPWS requires the use of WS-Transfer Get to retrieve the metadata about a service/endpoint.  However, per the MEX spec, this then requires the service to be a "metadata resource" - meaning that the service is a "metadata service"; In other words, it is there solely to serve-up (manage) metadata about some other endpoint.  This is a very different role for a device and normal WS endpoint.  Normally when a service (e.g. a StockQuote service or a printer) wants to allow a client to retrieve the metadata at that service, mex.GetMetadata() is used.  This allows for the XML representation of the resource/service/endpoint to still be retrieved and updated using WS-Transfer.  For example, WS-Transfer.Get() would be used to retrieve the state of the printer.  However, if DPWS uses WS-Transfer to retrieve the metadata then we lose the ability to use WS-Transfer to retrieve and update the resource's state/representation.   DPWS should be changed to replace transfer.Get request with mex.GetMetadata request messages.  The responses will still look the same (mex:Metadata sections) - its just the request messages that will change.

The current sitation will also lead to confusion when DPWS is used in-conjunction with other specifications like WS-Management.  When using WS-Man, a Transfer.Get() will return the XML representation of the service/resource not the metadata about the service/resource.  When asking for the metadata about a service/device/resource, MEX.GetMetadata() should be used instead.  The resulting response message will contain the exact same data as today but avoid the confusion about what the client is asking for (metadata vs the real data), and this will allow both specifications to be used simultaneously.

Proposed Resolution (changes in red):

Change R2044, R2045 Lines 326, 329
From:
R2044: In a Get Response SOAP ENVELOPE, A DEVICE MUST include only a wsx:Metadata element in the SOAP ENVELOPE Body.
All metadata from the device should be contained in the wsx:Metadata element in the Get Response.
R2045: A DEVICE MAY generate a wsa:ActionNotSupported SOAP Fault in response to a Put, Delete, or Create SOAP ENVELOPE.
A DEVICE is not required to support all of the operations defined in [WS-Transfer].

To:
R2044: In a GetMetadata Response SOAP ENVELOPE, A DEVICE MUST include only a wsx:Metadata element in the SOAP ENVELOPE Body.
All metadata from the device should be contained in the wsx:Metadata element in the GetMetadata Response.
R2045: A DEVICE MAY generate a wsa:ActionNotSupported SOAP Fault in response to a Put, Delete, or Create SOAP ENVELOPE.
A DEVICE is not required to support all of the operations defined in [WS-Transfer].

Change R2014  Line 417
From:
R2014: In any Get Response SOAP ENVELOPE, a DEVICE MUST include the Metadata Section with Dialect equal to http://docs.oasis-open.org/ws-dd/dpws/2008/09/ThisDevice".
To:
R2014: In any GetMetadata Response SOAP ENVELOPE, a DEVICE MUST include the Metadata Section with Dialect equal to http://docs.oasis-open.org/ws-dd/dpws/2008/09/ThisDevice".

Change Line 469:
From:
Get [WS-Transfer] is the interoperable means for a CLIENT to retrieve the resource representation data for a DEVICE – which includes the ThisDevice metadata for a DEVICE. A DEVICE may also provide other means for a CLIENT to retrieve its ThisDevice metadata.
To:
GetMetadata [WS-MetadataExchange] is the interoperable means for a CLIENT to retrieve the metadata resource representation data for a DEVICE – which includes the ThisDevice metadata for a DEVICE. A DEVICE may also provide other means for a CLIENT to retrieve its ThisDevice metadata.



Change Line 375:
From:
R2012: In any Get Response SOAP ENVELOPE, a DEVICE MUST include the Metadata Section with Dialect equal to "http://docs.oasis-open.org/ws-dd/dpws/2008/09/ThisModel".
To:
R2012: In any GetMetadata Response SOAP ENVELOPE, a DEVICE MUST include the Metadata Section with Dialect equal to "http://docs.oasis-open.org/ws-dd/dpws/2008/09/ThisModel".

Change Line 377:
From:
Get [WS-Transfer] is the interoperable means for a CLIENT to retrieve the resource representation data for a DEVICE – which includes the ThisModel metadata for a DEVICE. A DEVICE may also provide other means for a CLIENT to retrieve its ThisModel metadata..
To:
GetMetadata [WS-MetadataExchange] is the interoperable means for a CLIENT to retrieve the metadata resource representation data for a DEVICE – which includes the ThisModel metadata for a DEVICE. A DEVICE may also provide other means for a CLIENT to retrieve its ThisModel metadata.

Change Line 562:
From:
R2029: In any Get Response SOAP ENVELOPE, a SERVICE MUST include any Metadata Section(s) with Dialect equal to "http://docs.oasis-open.org/ws-dd/dpws/2008/09/Relationship".
To:
R2029: In any GetMetadata Response SOAP ENVELOPE, a SERVICE MUST include any Metadata Section(s) with Dialect equal to "http://docs.oasis-open.org/ws-dd/dpws/2008/09/Relationship".

Change Line 564:
From:
Get [WS-Transfer] is the interoperable means for a CLIENT to retrieve the resource representation data for a SERVICE – which includes the relationship metadata for a SERVICE. A SERVICE may provide other means for a CLIENT to retrieve its relationship metadata.
To:
GetMetadata [WS-MetadataExchange] is the interoperable means for a CLIENT to retrieve the metadata resource representation data for a SERVICE – which includes the relationship metadata for a SERVICE. A SERVICE may provide other means for a CLIENT to retrieve its relationship metadata.

Change Line 669:
From:
R2016: In any Get Response SOAP ENVELOPE, a HOSTED SERVICE MUST include the Metadata Section(s) with Dialect equal to "http://schemas.xmlsoap.org/wsdl/".
To:
R2016: In any GetMetadata SOAP ENVELOPE, a HOSTED SERVICE MUST include the Metadata Section(s) with Dialect equal to "http://schemas.xmlsoap.org/wsdl/".

Change Line 671:
From:
Get [WS-Transfer] is the interoperable means for a CLIENT to retrieve resource representation data for a HOSTED SERVICE – which includes the WSDL for a HOSTED SERVICE. A HOSTED SERVICE may provide other means for a CLIENT to retrieve its WSDL
To:
GetMetadata [WS-MetadataExchange] is the interoperable means for a CLIENT to retrieve metadata resource representation data for a HOSTED SERVICE – which includes the WSDL for a HOSTED SERVICE. A HOSTED SERVICE may provide other means for a CLIENT to retrieve its WSDL


Change Line 509
From:
Reference of the SERVICE that returned this metadata in a Get Response SOAP ENVELOPE. At
To:
Reference of the SERVICE that returned this metadata in a GetMetadata Response SOAP ENVELOPE. At

Change Line 524
From:
Endpoint Reference of the SERVICE that returned this metadata in a Get Response SOAP
To:
Endpoint Reference of the SERVICE that returned this metadata in a GetMetadata Response SOAP

Change Line 282
From:
retrieving metadata about the DEVICE and any HOSTED SERVICEs using Get [WS-Transfer].
To:
retrieving metadata about the DEVICE and any HOSTED SERVICEs using GetMetadata[WS-MetadataExchange].

Change Line 318
From:
The description for a DEVICE is retrieved by sending a WS-Transfer Get SOAP ENVELOPE to the DEVICE.
To:
The description for a DEVICE is retrieved by sending a WS-MetadataExchange GetMetadata SOAP ENVELOPE to the DEVICE.

Starting at Line 420
From:
<soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
 <soap:Header>
  <wsa:Action>
    http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse
  </wsa:Action>

To:
<soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
 <soap:Header>
  <wsa:Action>
    http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response
</wsa:Action>.

Starting at Line 568
From:
<soap:Envelope
    xmlns:gen="http://example.org/general"
    xmlns:img="http://printer.example.org/imaging"
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
  <soap:Header>
    <wsa:Action>
      http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse
    </wsa:Action>

To:
<soap:Envelope
    xmlns:gen="http://example.org/general"
    xmlns:img="http://printer.example.org/imaging"
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
  <soap:Header>
    <wsa:Action>
      http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response
    </wsa:Action>.

Starting at Line 678
From:
<soap:Envelope
    xmlns:gen="http://example.org/general"
    xmlns:img="http://printer.example.org/imaging"
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
  <soap:Header>
    <wsa:Action>
      http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse
    </wsa:Action>

To:
<soap:Envelope
    xmlns:gen="http://example.org/general"
    xmlns:img="http://printer.example.org/imaging"
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
  <soap:Header>
    <wsa:Action>
      http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response
    </wsa:Action>.


Starting at Line 753
From:
<soap:Envelope
  xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
  xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap12/"
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wsu
="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
 <soap:Header>
  <wsa:Action>
    http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse
  </wsa:Action>

To:
<soap:Envelope
  xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:wsdp="http://docs.oasis-open.org/ws-dd/dpws/2008/09"
  xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap12/"
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  xmlns:wsu
="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" >
 <soap:Header>
  <wsa:Action>
    http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response
  </wsa:Action>.



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