RE: [Bug 6463] New: Attaching Policy to WS-Mex GetMetadata

As promised, the following is an example that illustrates how to embed a bootstrap binding in an EPR and how to attach a policy expression to the bootstrap binding ...

<wsa:EndpointReference
    xmlns:wsa='http://www.w3.org/2005/08/addressing'>
  <wsa:Address>http://services.example.org/stockquote</wsa:Address>
  <wsa:Metadata>
    <mex:Metadata xmlns:mex='http://www.w3.org/2009/09/ws-mex'>
      <mex:MetadataSection Dialect='http://schemas.xmlsoap.org/wsdl/'>

<!-- BEGIN: Metadata of GetMetadata () -->

<wsdl:definitions name='StockQuoteMetadata'
    targetNamespace='http://services.example.org/stockquote/metadata'
    xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
    xmlns:mex='http://www.w3.org/2009/09/ws-mex'
    xmlns:wsp='http://www.w3.org/ns/ws-policy'
    xmlns:wsoap12='http://schemas.xmlsoap.org/wsdl/soap12/'>

  <wsdl:import namespace='http://www.w3.org/2009/09/ws-mex'
      location='http://www.w3.org/2009/09/ws-mex/metadataexchange.wsdl' />

  <wsdl:binding name='GetMetadataBinding' type='mex:MetadataExchange'>
     <wsp:PolicyReference 
         URI='http://services.example.org/stockquote/GetMetadataPolicy' />
     <wsoap12:binding transport='http://schemas.xmlsoap.org/soap/http' />
     ...
  </wsdl:binding>
  ...
</wsdl:definitions>

<!-- END: Metadata of GetMetadata() -->

      </mex:MetadataSection>
    </mex:Metadata>
  </wsa:Metadata>
</wsa:EndpointReference>

Regards,

Asir S Vedamuthu
Microsoft Corporation




From: public-ws-resource-access-request@w3.org [mailto:public-ws-resource-access-request@w3.org] On Behalf Of Asir Vedamuthu
Sent: Tuesday, November 03, 2009 9:54 AM
To: Katy Warr
Cc: public-ws-resource-access@w3.org
Subject: RE: [Bug 6463] New: Attaching Policy to WS-Mex GetMetadata

Okay to add an example to Section 8. We suggest adding a simpler example. We will provide a sample or example later.

Regards,

Asir S Vedamuthu
Microsoft Corporation

From: Katy Warr [mailto:katy_warr@uk.ibm.com] 
Sent: Monday, November 02, 2009 2:09 AM
To: Asir Vedamuthu
Cc: public-ws-resource-access@w3.org
Subject: RE: [Bug 6463] New: Attaching Policy to WS-Mex GetMetadata


Asir 

Yes, I agree that we could close with no action, but it would be beneficial to have an example.  I also think that this provides us with an opportunity to make the spec easier for readers in this area. 

I suggest: 
1) Add an example for GetMetadata in section 8 "Bootstrapping Metadata Retrieval". 
2) Example 7.2 illustrates how the WS-T Get might be bootstrapped.  Move example 7.2 to section 8 so that the 2 examples are same relevant section 
3) Example 7.2 could be improved.  I can raise a separate issue for this or we could fix it here. 

Detailed proposal is attached below.  Note that for (1), I used external policy attachments.  This is  because we already have examples with embedded metadata and a variety of examples is always helpful to readers.  However, embedded wsdl would work in the example too.  Similarly, I used MetadataLocation in (3) for variety. 

Many thanks 
Katy 

Draft Proposal  for 6463: 
========================= 

1) Add the following to WS-Mex section 8 Bootstrapping-Metadata-Retrieval: 
-------------------------------------------------------------------------- 

For example, metadata for the WS-MetadataExchange GetMetadata operation MAY be passed within an Endpoint Reference as illustrated in example 8.1.   

Example 8.1: Passing Policy of the GetMetadata request within an EPR 

(01)  <wsa:EndpointReference
(02)      xmlns:wsa='http://www.w3.org/2005/08/addressing'>
(03)    <wsa:Address>http://services.example.org/stockquote</wsa:Address> 

       <wsa:Metadata> 

(08)      <mex:Metadata xmlns:mex='http://www.w3.org/2009/09/ws-mex'>
(09)        <mex:MetadataSection
               Dialect='http://www.w3.org/TR/ws-policy-attach'>                 
                <wsp:PolicyAttachment>
                  <wsp:AppliesTo>                       
                      <!-- Following according to: http://www.w3.org/TR/ws-policy-attach/#uri-domain-expression --> 
                      <!-- with URI syntax from: http://www.w3.org/TR/wsdl11elementidentifiers/                 -->
                     <wsp:URI> 
                          http://www.w3.org/2009/09/ws-mex#wsdl1.PortTypeOperation(GetMetadata) 
                  </wsp:URI>
                  </wsp:AppliesTo> 
                   <wsp:Policy> ... </wsp:Policy>  
               </wsp:PolicyAttachment>            
(22)        </mex:MetadataSection>
(23)      </mex:Metadata>
(24)    </wsa:Metadata>
(25)  </wsa:EndpointReference> 

Example 8.1 shows an EPR that supports WS-MetadataExchange.  Lines [09] to [22] specify a metadata section that defines required policy for the WS-MetadataExchange GetMetadata operation using the WS-PolicyAttachments [WS-PolicyAttachments] dialect.  Note that it would be valid to pass the WS-MetadataExchange WSDL with policy in-lined instead of the WS-PolicyAttachment. 

2) Move example 7.2 to section 8 
-------------------------------- 

because this example is specific to bootstrapping metadata retrieval and fits nicely with the example above with additional text something like: 

"Similarly, metadata for the WS-Transfer Get operation may be passed within an Endpoint Reference as illustrated in example 7.2." 

3) Finally, I suggest that we improve example 7.2 within the context of this issue 
---------------------------------------------------------------------------------- 

Make the following updates to example 7.2: 

  a) Add "Identifier='http://www.w3.org/2009/09/ws-tra'> " line 16 below 
  b) Replace:   
  (16)                  <!-- Reference to WS-Transfer WSDL wst:Resource portType
 (17)                     plus binding --> 
  with: 
                        <mex:MetadataLocation> 
                           <!-- Reference to WS-Transfer WSDL at the Metadata Endpoint --> 
  (17)                        http://services.example.org/stockquote/metadata/TransferWSDL 
                        </mex:MetadataLocation> 

The resulting example is: 

Example 7-2: Endpoint reference with embedded metadata about the Metadata Reference 
(01)  <wsa:EndpointReference
(02)      xmlns:wsa='http://www.w3.org/2005/08/addressing'>
(03)    <wsa:Address>http://services.example.org/stockquote</wsa:Address>
(04)    <wsa:Metadata>
(05)      <mex:Metadata xmlns:mex='http://www.w3.org/2009/09/ws-mex'> 

(06)        <mex:MetadataSection
(07)            Dialect='http://www.w3.org/2009/09/ws-mex'> 
(08)          <mex:MetadataReference>
(09)            <wsa:Address>
(10)              http://services.example.org/stockquote/metadata
(11)            </wsa:Address>
(12)            <wsa:Metadata>
(13)              <mex:Metadata>
(14)                <mex:MetadataSection
(15)                  Dialect='http://schemas.xmlsoap.org/wsdl/' 
(16)                    Identifier='http://www.w3.org/2009/09/ws-tra'> 
                      <mex:MetadataLocation> 
                         <!-- Reference to WS-Transfer WSDL at the Metadata Endpoint --> 
(17)                        http://services.example.org/stockquote/metadata/TransferWSDL 
                      </mex:MetadataLocation>
(18)                </mex:MetadataSection>
(19)              </mex:Metadata>
(20)            </wsa:Metadata>
(21)          </mex:MetadataReference>
(22)        </mex:Metadata> 
          </wsa:Metadata> 
        </EndpointReference> 


From: 
Asir Vedamuthu <asirveda@microsoft.com> 
To: 
"public-ws-resource-access@w3.org" <public-ws-resource-access@w3.org> 
Date: 
02/11/2009 01:38 
Subject: 
RE: [Bug 6463] New: Attaching Policy to WS-Mex GetMetadata

________________________________________



There is a simple, natural solution - embed a WSDL (using MEX in an EPR) that specifies binding/port information for the MetadataExchange portType at http://www.w3.org/2009/09/ws-mex/metadataexchange.wsdl and attach policy expressions to bindings, as appropriate. This is specifically covered by some prose in the current version of WS-MetadataExchange draft [1]:

"In particular, the mechanisms described in 7 Metadata in Endpoint References allow issuers of endpoint references to include sufficient protocol binding information to allow requesters to issue a Get request against a metadata resource, or a Get Metadata request against a service endpoint, in order to retrieve all the information needed to use the service."

Proposal: close issue 6463 without any action!

[1] http://www.w3.org/TR/2009/WD-ws-metadata-exchange-20090924/#Bootstrapping-Metadata-Retrieval 

Regards,

Asir S Vedamuthu
Microsoft Corporation

-----Original Message-----
From: public-ws-resource-access-notifications-request@w3.org [mailto:public-ws-resource-access-notifications-request@w3.org] On Behalf Of bugzilla@wiggum.w3.org
Sent: Wednesday, January 21, 2009 6:45 AM
To: public-ws-resource-access-notifications@w3.org
Subject: [Bug 6463] New: Attaching Policy to WS-Mex GetMetadata


http://www.w3.org/Bugs/Public/show_bug.cgi?id=6463

          Summary: Attaching Policy to WS-Mex GetMetadata
          Product: WS-Resource Access
          Version: PR
         Platform: PC
       OS/Version: Windows XP
           Status: NEW
         Severity: normal
         Priority: P2
        Component: MetadataExchange
       AssignedTo: public-ws-resource-access-notifications@w3.org
       ReportedBy: katy_warr@uk.ibm.com


We should consider clarifying or recommending how policy should be associated
with a WS-MetadataExchange GetMetadata request.  ('Policy' might be existing
policies such as WS-SecurityPolicy or potential new assertions, as described in
issue 6406 here: http://www.w3.org/Bugs/Public/show_bug.cgi?id=6406).

A GetMetadata operation's policy cannot be attached within the Web service
endpoint's WSDL because:
In order for a client to establish the WS-Mex GetMetadata policy, it would need
to issue a GetMetadata(WSDL) request at the web service endpoint...but in order
to issue a GetMetadata request at the endpoint it would need to establish the
WS-Mex GetMetadata policy...

The issue here is: what is the correct way to bootstrap the bootstrap (without
entering an infinite loop)?


--
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.






________________________________________

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU 

Received on Friday, 6 November 2009 16:33:38 UTC