Changes in web services from RC to RTM

I will post tomorrow the originally scheduled topic of selecting attributes in an enumeration.  For now I thought it would be a better idea to post publically an answer we have given to a few customers who asked: What has changed in the web services between release candidate (RC) and release to manufacturing (RTM) versions of ILM “2”?

This list is a snapshot and is subject to change by RTM.  This list represents my complete view of changes as of today.  Additional changes will be in response to issues we may uncover.  Please use this list to help estimate the changes that will come.

I ask that you takeaway one key point: We value and respect standards on this team.  Most of the changes you see below are “cosmetic” changes that pull us into full compliance with standards.  There are no new operations or behaviors, but clients written for RC will not work with RTM.

In no particular order:

  1. We changed the port number to match our IANA registration (search for ILM on the list).  The new ports are 5725 and 5726.
  2. We removed inline schema from the protocol.  A client no longer has to tell the server what the data types are.
  3. We changed the children of the WS-Enumeration EnumerationContext.  Previously we had used an opaque string.  For RTM we will use an opaque complex type.
  4. We’ve changed the accessibility of the overwhelming majority of classes to something other than public.  All of your code that depends on ResourceManagement.dll should break.
  5. We updated how we handle faults.
    1. The Security Token Service now throws wst:RequestFailed upon an exception.  Previously it had been silent about failures.
    2. We removed faults from our WSDL which do not exist in WS-Transfer, WS-Enumeration, or our extensions.
    3. We moved the DataRequired fault to the ResourceManagement namespace.
  6. We moved elements to the correct namespaces so we now completely comply with WS-Transfer and WS-Enumeration specs.
    1. We now return wxf:ResourceCreated in a WS-Transfer CreateResponse.
    2. We new return EnumerationDetail in the ResourceManagement namespace instead of WS-Enumeration namespace.
    3. We moved ResourceReferenceProperty from WS-Addressing namespace to ResourceManagement namespace.
    4. We consolidated all references to WS-Addressing to the 2004 submission over the 2006 recommendation.  The reason is we use resource properties to identify individual resources.  The 2006 recommendation, however, says this approach is incompatible.
  7. We changed the string restriction regular expression to the correct .{0,448} instead of .{448}.
  8. We removed support for replacing multi-valued attributes.  We found it may be confusing for customers to configure ILM in a way to apply policy correctly.
  9. We removed XPathLevel1 and Level2 dialects from our filters.  We now only support our own dialect, which is functionally similar to XPath level 1: http://schemas.microsoft.com/2006/11/ResourceManagement/Dialect/IdentityAttributeType-20080602.

Tomorrow we’ll talk about the product and extensibility points as planned.