Something I've been wondering about, but don't have an answer for yet. Suppose an agent or service is notified of the address of a service, or is given the service end-point as a WSDL document. How does the agent discover the category information about the given service? I haven't yet come across an agreed way of embedding that information in the WSDL document (I suppose it could be seen as an application of ws-policy). Of course if you discover the WSDL by querying a UDDI registry you know the category because it's in the registry (and was probably part of the initial query). But if you already have the WSDL end-point, it seems inefficient and potentially non-deterministic to query the registry to do a reverse lookup on the service category, always assuming that the service is published in an accessible UDDI registry in the first place.