[DOSGI-108] Throw exception if a service has multiple interfaces
diff --git a/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java b/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
index b618050..66f6ff1 100644
--- a/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
+++ b/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
@@ -90,6 +90,9 @@
BundleContext consumerContext,
Class[] interfaces,
EndpointDescription endpoint) {
+ if (interfaces.length > 1) {
+ throw new IllegalArgumentException("Multiple interfaces are not supported by this provider");
+ }
Set<String> intentNames = intentManager.getImported(endpoint.getProperties());
List<Object> intents = intentManager.getRequiredIntents(intentNames);
Class<?> iClass = interfaces[0];
diff --git a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
index 3bc28ee..bd1b541 100644
--- a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
+++ b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
@@ -95,6 +95,9 @@
BundleContext consumerContext,
Class[] interfaces,
EndpointDescription endpoint) throws IntentUnsatisfiedException {
+ if (interfaces.length > 1) {
+ throw new IllegalArgumentException("Multiple interfaces are not supported by this provider");
+ }
Class<?> iClass = interfaces[0];
Map<String, Object> sd = endpoint.getProperties();
String address = getClientAddress(sd);