At 12:30 PM 2006-09-25, Daniel Roth wrote:
> And if I want to change the
policy, and the new policy has a new URI,
> I would need to update links in both WSDL and the tModel.
You can solve this problem by having your policy references point to a
URI that references the "current" policy. Section 4.3.4
of the Policy Framework states: "The IRI included in the retrieved
policy expression, if any, MAY be different than the IRI used to retrieve
the policy expression."
For example, you could have policy reference like this:
So @URI "identifies" the policy, so I could use a UDDI
tModelKey as the identifier.
(Lets ignore for the moment that the "uddi" URI scheme is not
registered with IANA).
That points to a policy like
<wsp:Policy Name="urn:myUpdatedPolicy" >
How you resolve external policy references is implementation specific,
So there may be many ways to resolve the external policy
I suggested one such way, that is,
In WSDL use <wsp:PolicyReference
The way I could resolve that is to get the tModel from a UDDI registry,
then follow the overviewURL (e.g., ) (using HTTP GET) to retrieve a
document that contains the current policy.
Does WS-Policy provide a way to give someone who looks at this WSDL a
hint as to the way they should go about resolving it?
If I have 100 WSDL descriptions with 100 different ways to resolve the
PolicyReference, I will have an interoperability problem. I would
imagine that there will emerge a few well-known ways to resolve the
For example, if <wsp:PolicyReference
It is reasonable to assume that the way to resolve it is to do HTTP GET,
and expect in return a WS-Policy document.
However, if <wsp:PolicyReference
URI="http://example.org/rss/user/tag" />, doing HTTP GET may
not return a WS-Policy document directly. For example, it could
return an RSS or Atom document whose items include something like
has some talk about media type and fragment identifiers for WSDL 1.1, but
I didn't see anything about defining a media type for WS-Policy, such as,
Or with even further indirection
In this scenario, the RSS/Atom
feed includes an enclosure that points to a UDDI tModel, which in turn
points to WS-Policy document.
For a slightly different approach, I could, for example, bookmark a bunch
of URI's that return a UDDI tModel,
I could add a tag to those bookmarks that are used for reusable policy
expressions, say "rpe".
This is would be a slightly different "policy retrieval
algorithm", perhaps, because it has the <link> of the RSS feed
point to the UDDI entry and not an <enclosure>.
I could add a tag "current" to the bookmarks to narrow it down
further. When I create a new policy, I bookmark it with the
"current" tag and then remove the "current" tag from
the bookmark to the old policy.
My WSDL could have
I'll discuss "policy retrieval
algorithm" in a separate email.