Routing Requests to Plugins

Web Services Management Protocol Extensions for Windows Vista servers associate resource URIs (or resource URI prefixes) with a specific plugin using the Plugins table. When the server receives a request, the server MUST attempt to locate a matching plugin configuration entry as follows:

  • For each row in Plugins, compare the Resource URI field of the request with the PluginConfig\<cfg:Resource> elements in the row.

  • If the request matches multiple rows, then choose the row with the most specific match. If one of the matching <cfg:ResourceType> elements has ExactMatch set to true, then choose that row. Otherwise, if there are multiple matching <cfg:ResourceType> elements having ExactMatch set to false, then choose the row containing the <cfg:ResourceType> element with the longest matching prefix.

  • If the request matches a single row, choose that row.

If a row was chosen, then the request MUST be routed to the plugin represented by the row's Filename element. Otherwise, the request MUST be handled by the server itself, as described in sections through

The server MUST verify whether the plugin supports the operation requested by the client. A plugin supports an operation if the PluginConfig\<cfg:Resources>\<cfg:Resource> matching the client’s resource URI has the operation listed in its CapabilityType.

If the operation is not supported by the plugin, then the Web Services Management Protocol Extensions for Windows Vista service MUST return a wsa:ActionNotSupported fault to the client.