diff --git a/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistry.java b/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistry.java
index 29f8c330e1..712a7f35a5 100644
--- a/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistry.java
+++ b/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistry.java
@@ -16,7 +16,7 @@
package org.springframework.web.service.registry;
-import org.jspecify.annotations.Nullable;
+import java.util.Set;
/**
* A registry that contains HTTP Service client proxies.
@@ -35,18 +35,34 @@ public interface HttpServiceProxyRegistry {
* @param httpServiceType the type of client proxy
* @return the proxy, or {@code null} if not found
* @param
the type of HTTP Interface client proxy
- * @throws IllegalArgumentException if more than one client proxy of the
+ * @throws IllegalArgumentException if there is no client proxy of the given
+ * type, or there is more than one client proxy of the given type.
* given type exists across groups
*/
-
@Nullable P getClient(Class
httpServiceType);
+
P getClient(Class
httpServiceType);
/**
* Return an HTTP service client proxy from the given group.
* @param groupName the name of the group
* @param httpServiceType the type of client proxy
* @return the proxy, or {@code null} if not found
+ * @throws IllegalArgumentException if there is no group with the given
+ * name, or no client proxy of the given type in the group.
* @param
the type of HTTP Interface client proxy
*/
-
@Nullable P getClient(String groupName, Class
httpServiceType);
+
P getClient(String groupName, Class
httpServiceType);
+
+ /**
+ * Return the names of all groups in the registry.
+ */
+ Set getGroupNames();
+
+ /**
+ * Return the HTTP service types for all client proxies in the given group.
+ * @param groupName the name of the group
+ * @return the HTTP service types
+ * @throws IllegalArgumentException if there is no group with the given name.
+ */
+ Set> getClientTypesInGroup(String groupName);
}
diff --git a/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistryFactoryBean.java b/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistryFactoryBean.java
index b890f4d4c7..fcfc13f40a 100644
--- a/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistryFactoryBean.java
+++ b/spring-web/src/main/java/org/springframework/web/service/registry/HttpServiceProxyRegistryFactoryBean.java
@@ -278,16 +278,36 @@ public final class HttpServiceProxyRegistryFactoryBean
@SuppressWarnings("unchecked")
@Override
- public