We want to get the properties of a service by using:
ServiceLocationEnumeration attrLocEnum = locator.findAttributes(serviceUrl, null, null);
where serviceUrl is a ServiceURL obtained with Locator.findServices.
However, Locator.findAttributes returns the attributes of all the services instead of being restricted to the service identified by the serviceUrl.
For example:
ServiceLocationEnumeration svcLocEnum = findServices(serviceType, scopes, filter);
while (svcLocEnum.hasMoreElements()) {
ServiceURL url = (ServiceURL)svcLocEnum.nextElement();
ServiceLocationEnumeration attrLocEnum = locator.findAttributes(serviceUrl, null, null);
}
attrLocEnum will be always the same enumeration of attributes, which comprise all the attributes of all the discovered services.
I know what was the problem. My services are registered with the following URL: "myProject:service:..." and it looks like "service:" must be the start word in SLP (although I haven´t read the SLP specification).
I guess this bug can be discarded.