[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Comments on WS-RA WS-MetadataExchange draft
Hi, the following is a first set of comments on the WS-RA WS-MetadataExchange draft. Section 7: This section is new (compared to the version referenced by DPWS 1.0, not compared to the submission), and it provides a way to attach metadata to an EPR. I think this could be a valuable feature to use in DPWS metadata, specifically for helping distinguishing between endpoints exposed by hosted services (a typical use case is the need to expose one BP1.1-compliant and one DPWS-compliant EPR for each hosted service). Ideally, there should be an easy way to directly attach an endpoint effective policy (as defined in WS-PolicyAttachment) to the EPR, in order to bypass the usual complex algorithm that the client must implement to compute the endpoint effective policy, and which is not practical for some embedded clients: 1) Download the WSDL 2) Retrieve the service port corresponding to the EPR (matching the address, and hoping that the WSDL is complete, i.e. is dynamically generated by the service to contain an up-to-date address, which is often numerical in cases of devices). 3) Build the endpoint effective policy by merging info extracted from the WSDL and possibly an external policy document. The closest way I can see in the current proposal would be to use an external policy attachment as metadata section, using the EPR as policy scope. So for instance, to express that an EPR supports the DPWS requirements for hosted services, one could have: <wsa:EndpointReference xmlns:wsa='http://www.w3.org/2005/08/addressing'> <wsa:Address>http://192.168.0.34/myHostedService</wsa:Address> <wsa:Metadata> <mex:Metadata xmlns:mex='http://www.w3.org/2009/09/ws-mex'> <mex:MetadataSection xmlns:wsp='|http://www.w3.org/ns/ws-policy|'> Dialect='http://www.w3.org/TR/ws-policy-attach'> <wsp:PolicyAttachment> <wsp:AppliesTo> <wsa:EndpointReference> <wsa:Address>http://192.168.0.34/myHostedService</wsa:Address> </wsa:EndpointReference> </wsp:AppliesTo> <wsp:Policy> <dpws:Profile xmlns:dpws='http://docs.oasis-open.org/ws-dd/ns/dpws/2009/01'/> </wsp:Policy> </wsp:PolicyAttachment> </mex:MetadataSection> </mex:Metadata> </wsa:Metadata> </wsa:EndpointReference> A simpler solution could be to have (assuming that the EPR defines a default policy scope): <wsa:EndpointReference xmlns:wsa='http://www.w3.org/2005/08/addressing'> <wsa:Address>http://192.168.0.34/myHostedService</wsa:Address> <wsa:Metadata> <mex:Metadata xmlns:mex='http://www.w3.org/2009/09/ws-mex'> <mex:MetadataSection xmlns:wsp='|http://www.w3.org/ns/ws-policy|'> Dialect='http://www.w3.org/TR/ws-policy'> <wsp:Policy> <dpws:Profile xmlns:dpws='http://docs.oasis-open.org/ws-dd/ns/dpws/2009/01'/> </wsp:Policy> </mex:MetadataSection> </mex:Metadata> </wsa:Metadata> </wsa:EndpointReference> or even better (allowing any predefined dialect to appear in the metadata, as in a Get response) <wsa:EndpointReference xmlns:wsa='http://www.w3.org/2005/08/addressing'> <wsa:Address>http://192.168.0.34/myHostedService</wsa:Address> <wsa:Metadata> <wsp:Policy> <dpws:Profile xmlns:dpws='http://docs.oasis-open.org/ws-dd/ns/dpws/2009/01'/> </wsp:Policy> </wsa:Metadata> </wsa:EndpointReference> Editorial comments: It seems that the namespace used in schema import elements in several examples should be http://services.example.org/stockquote/schemas instead of http://services.example.org/stockquote Cheers Antoine
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]