You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2016/07/06 07:12:15 UTC

[1/2] cxf-dosgi git commit: Removing local ip guessing as it is too unreliable

Repository: cxf-dosgi
Updated Branches:
  refs/heads/master f0dea5061 -> 1fef30511


Removing local ip guessing as it is too unreliable


Project: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/commit/30817c5c
Tree: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/tree/30817c5c
Diff: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/diff/30817c5c

Branch: refs/heads/master
Commit: 30817c5cbb75dc17d46e6377fc57c1772b151709
Parents: f0dea50
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Wed Jul 6 09:10:38 2016 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Wed Jul 6 09:10:38 2016 +0200

----------------------------------------------------------------------
 .../common/httpservice/HttpServiceManager.java  | 41 +++++----
 .../dosgi/common/httpservice/LocalHostUtil.java | 92 --------------------
 .../httpservice/HttpServiceManagerTest.java     |  5 +-
 3 files changed, 22 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/30817c5c/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManager.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManager.java b/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManager.java
index e5015c9..e03b605 100644
--- a/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManager.java
+++ b/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManager.java
@@ -44,22 +44,21 @@ import org.osgi.service.http.HttpService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Component(
-           configurationPid = "cxf-dsw",
-           service = HttpServiceManager.class
-           )
+@Component //
+(//
+    name = "org.apache.cxf.dosgi.http", //
+    service = HttpServiceManager.class //
+)
 public class HttpServiceManager {
     /**
-     * Prefix to create an absolute URL from a relative URL.
-     * See HttpServiceManager.getAbsoluteAddress
-     *
-     * Defaults to: http://<host name>:8181
+     * Prefix to create an absolute URL from a relative URL. See HttpServiceManager.getAbsoluteAddress
+     * Defaults to: http://localhost:8181
      */
     public static final String KEY_HTTP_BASE = "httpBase";
     public static final String KEY_CXF_SERVLET_ALIAS = "cxfServletAlias";
     public static final String DEFAULT_CXF_SERVLET_ALIAS = "/cxf";
     private static final Logger LOG = LoggerFactory.getLogger(HttpServiceManager.class);
-    
+
     private Map<Long, String> exportedAliases = Collections.synchronizedMap(new HashMap<Long, String>());
     private String httpBase;
     private String cxfServletAlias;
@@ -77,7 +76,7 @@ public class HttpServiceManager {
         if (config == null) {
             config = new Hashtable<String, Object>();
         }
-        this.httpBase = getWithDefault(config.get(KEY_HTTP_BASE), "http://" + LocalHostUtil.getLocalIp() + ":8181");
+        this.httpBase = getWithDefault(config.get(KEY_HTTP_BASE), "http://localhost:8181");
         this.cxfServletAlias = getWithDefault(config.get(KEY_CXF_SERVLET_ALIAS), "/cxf");
     }
 
@@ -92,8 +91,7 @@ public class HttpServiceManager {
         try {
             HttpContext httpContext1 = httpService.createDefaultHttpContext();
             HttpContext httpContext = new SecurityDelegatingHttpContext(callingContext, httpContext1);
-            httpService.registerServlet(contextRoot, cxf, new Hashtable<String, String>(),
-                                       httpContext);
+            httpService.registerServlet(contextRoot, cxf, new Hashtable<String, String>(), httpContext);
 
             registerUnexportHook(sid, contextRoot);
 
@@ -105,8 +103,7 @@ public class HttpServiceManager {
     }
 
     /**
-     * This listens for service removal events and "un-exports" the service
-     * from the HttpService.
+     * This listens for service removal events and "un-exports" the service from the HttpService.
      *
      * @param sref the service reference to track
      * @param alias the HTTP servlet context alias
@@ -127,7 +124,8 @@ public class HttpServiceManager {
                 LOG.warn("Service listener could not be started. The service will not be automatically unexported.");
             }
         } catch (InvalidSyntaxException e) {
-            LOG.warn("Service listener could not be started. The service will not be automatically unexported.", e);
+            LOG.warn("Service listener could not be started. The service will not be automatically unexported.",
+                     e);
         }
     }
 
@@ -150,27 +148,28 @@ public class HttpServiceManager {
                 return;
             }
             final ServiceReference<?> sref = event.getServiceReference();
-            final Long sid = (Long) sref.getProperty(org.osgi.framework.Constants.SERVICE_ID);
+            final Long sid = (Long)sref.getProperty(org.osgi.framework.Constants.SERVICE_ID);
             final String alias = exportedAliases.remove(sid);
             if (alias == null) {
                 LOG.error("Unable to unexport HTTP servlet for service class '{}',"
-                        + " service-id {}: no servlet alias found",
-                        sref.getProperty(org.osgi.framework.Constants.OBJECTCLASS), sid);
+                          + " service-id {}: no servlet alias found",
+                          sref.getProperty(org.osgi.framework.Constants.OBJECTCLASS), sid);
                 return;
             }
             LOG.debug("Unexporting HTTP servlet for alias '{}'", alias);
             try {
                 httpService.unregister(alias);
             } catch (Exception e) {
-                LOG.warn("An exception occurred while unregistering service for HTTP servlet alias '{}'", alias, e);
+                LOG.warn("An exception occurred while unregistering service for HTTP servlet alias '{}'",
+                         alias, e);
             }
         }
     }
-    
+
     public void setContext(BundleContext context) {
         this.context = context;
     }
-    
+
     @Reference
     public void setHttpService(HttpService httpService) {
         this.httpService = httpService;

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/30817c5c/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/LocalHostUtil.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/LocalHostUtil.java b/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/LocalHostUtil.java
deleted file mode 100644
index 0ac245d..0000000
--- a/common/src/main/java/org/apache/cxf/dosgi/common/httpservice/LocalHostUtil.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.cxf.dosgi.common.httpservice;
-
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-
-/**
- * Utility methods to get the local address even on a linux host.
- */
-final class LocalHostUtil {
-
-    private LocalHostUtil() {
-        // Util Class
-    }
-
-    /**
-     * Returns an InetAddress representing the address of the localhost. Every
-     * attempt is made to find an address for this host that is not the loopback
-     * address. If no other address can be found, the loopback will be returned.
-     *
-     * @return InetAddress the address of localhost
-     * @throws UnknownHostException if there is a problem determining the address
-     */
-    public static InetAddress getLocalHost() throws UnknownHostException {
-        InetAddress localHost = InetAddress.getLocalHost();
-        if (!localHost.isLoopbackAddress()) {
-            return localHost;
-        }
-        InetAddress[] addrs = getAllLocalUsingNetworkInterface();
-        for (InetAddress addr : addrs) {
-            if (!addr.isLoopbackAddress() && !addr.getHostAddress().contains(":")) {
-                return addr;
-            }
-        }
-        return localHost;
-    }
-
-    /**
-     * Utility method that delegates to the methods of NetworkInterface to
-     * determine addresses for this machine.
-     *
-     * @return all addresses found from the NetworkInterfaces
-     * @throws UnknownHostException if there is a problem determining addresses
-     */
-    private static InetAddress[] getAllLocalUsingNetworkInterface() throws UnknownHostException {
-        try {
-            List<InetAddress> addresses = new ArrayList<InetAddress>();
-            Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
-            while (e.hasMoreElements()) {
-                NetworkInterface ni = e.nextElement();
-                for (Enumeration<InetAddress> e2 = ni.getInetAddresses(); e2.hasMoreElements();) {
-                    addresses.add(e2.nextElement());
-                }
-            }
-            return addresses.toArray(new InetAddress[] {});
-        } catch (SocketException ex) {
-            throw new UnknownHostException("127.0.0.1");
-        }
-    }
-
-    public static String getLocalIp() {
-        String localIP;
-        try {
-            localIP = getLocalHost().getHostAddress();
-        } catch (Exception e) {
-            localIP = "localhost";
-        }
-        return localIP;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/30817c5c/common/src/test/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManagerTest.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManagerTest.java b/common/src/test/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManagerTest.java
index c943f79..1f49f09 100644
--- a/common/src/test/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManagerTest.java
+++ b/common/src/test/java/org/apache/cxf/dosgi/common/httpservice/HttpServiceManagerTest.java
@@ -50,13 +50,12 @@ public class HttpServiceManagerTest extends TestCase {
     public void testGetAbsoluteAddress() {
         HttpServiceManager manager = new HttpServiceManager();
         manager.initFromConfig(null);
-        String localIp = LocalHostUtil.getLocalIp();
 
         String address1 = manager.getAbsoluteAddress(null, "/myservice");
-        assertEquals("http://" + localIp + ":8181/cxf/myservice", address1);
+        assertEquals("http://localhost:8181/cxf/myservice", address1);
 
         String address2 = manager.getAbsoluteAddress("/mycontext", "/myservice");
-        assertEquals("http://" + localIp + ":8181/mycontext/myservice", address2);
+        assertEquals("http://localhost:8181/mycontext/myservice", address2);
     }
 
     public void testRegisterAndUnregisterServlet() throws Exception {


[2/2] cxf-dosgi git commit: Some more cleanups

Posted by cs...@apache.org.
Some more cleanups


Project: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/commit/1fef3051
Tree: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/tree/1fef3051
Diff: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/diff/1fef3051

Branch: refs/heads/master
Commit: 1fef305119528249ede4fbbef4f9326e12c3bcc0
Parents: 30817c5
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Wed Jul 6 09:12:01 2016 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Wed Jul 6 09:12:01 2016 +0200

----------------------------------------------------------------------
 .../common/proxy/ServiceInvocationHandler.java  |   2 -
 cxf-dosgi-ri-repository/pom.xml                 |  85 ----
 .../features/src/main/resources/features.xml    |   1 -
 distribution/pom.xml                            |   1 +
 distribution/repository/pom.xml                 |  31 ++
 distribution/subsystem/pom.xml                  | 393 -------------------
 .../src/main/assembly/subsystem-assembly.xml    |  46 ---
 .../src/main/resources/OSGI-INF/SUBSYSTEM.MF    |  51 ---
 .../cxf/dosgi/dsw/handlers/ws/WsConstants.java  |   2 +-
 .../cxf/dosgi/dsw/handlers/ws/WsProvider.java   |  12 +-
 .../systests2/multi/TestExportService.java      |   4 +-
 .../multi/rest/TranslateActivator.java          |   7 +-
 12 files changed, 47 insertions(+), 588 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandler.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandler.java b/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandler.java
index c86b700..51a1e24 100644
--- a/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandler.java
+++ b/common/src/main/java/org/apache/cxf/dosgi/common/proxy/ServiceInvocationHandler.java
@@ -44,8 +44,6 @@ public class ServiceInvocationHandler implements InvocationHandler {
         this.serviceObject = serviceObject;
         introspectType(iType);
     }
-    
-
 
     public Object invoke(Object proxy, final Method m, Object[] params) throws Throwable {
         if (OBJECT_METHODS.contains(m)) {

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/cxf-dosgi-ri-repository/pom.xml
----------------------------------------------------------------------
diff --git a/cxf-dosgi-ri-repository/pom.xml b/cxf-dosgi-ri-repository/pom.xml
deleted file mode 100644
index 7e12753..0000000
--- a/cxf-dosgi-ri-repository/pom.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.cxf.dosgi</groupId>
-        <artifactId>cxf-dosgi-ri-parent</artifactId>
-        <version>1.8-SNAPSHOT</version>
-        <relativePath>../../parent/pom.xml</relativePath>
-    </parent>
-    <artifactId>cxf-dosgi-ri-repository</artifactId>
-    <packaging>pom</packaging>
-    <properties>
-        <bnd.version>3.1.0</bnd.version>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <local.index.policy>ALLOWED</local.index.policy>
-    </properties>
-    <profiles>
-        <profile>
-            <id>RunningInCI</id>
-            <activation>
-                <property>
-                    <name>running.in.ci</name>
-                    <value>true</value>
-                </property>
-            </activation>
-            <properties>
-                <local.url.policy>FORBIDDEN</local.url.policy>
-            </properties>
-        </profile>
-        <profile>
-            <id>apache-release</id>
-            <properties>
-                <local.url.policy>FORBIDDEN</local.url.policy>
-            </properties>
-        </profile>
-    </profiles>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-indexer-maven-plugin</artifactId>
-                <version>${bnd.version}</version>
-                <configuration>
-                    <localURLs>${local.index.policy}</localURLs>
-                    <includeTransitive>true</includeTransitive>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>index</id>
-                        <goals>
-                            <goal>index</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.cxf.dosgi</groupId>
-            <artifactId>cxf-dosgi-ri-rsa</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf.dosgi</groupId>
-            <artifactId>cxf-dosgi-ri-tcp</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf.dosgi</groupId>
-            <artifactId>cxf-dosgi-ri-discovery-distributed</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf.dosgi</groupId>
-            <artifactId>cxf-dosgi-ri-discovery-distributed-zookeeper-server</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf.dosgi</groupId>
-            <artifactId>cxf-dosgi-ri-discovery-distributed-zookeeper-server-config</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/distribution/features/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/distribution/features/src/main/resources/features.xml b/distribution/features/src/main/resources/features.xml
index ed36c23..442b922 100644
--- a/distribution/features/src/main/resources/features.xml
+++ b/distribution/features/src/main/resources/features.xml
@@ -10,7 +10,6 @@
         <bundle start-level="11">mvn:org.apache.felix/org.apache.felix.fileinstall/3.5.0</bundle>
         <bundle start-level="20">mvn:org.apache.aries/org.apache.aries.util/1.1.1</bundle>
         <bundle start-level="20">mvn:org.apache.aries.proxy/org.apache.aries.proxy.api/1.0.1</bundle>
-        
     </feature>
     
     <feature name="cxf-dosgi-common" version="${project.version}">

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 8b60b4b..cbd3b33 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -40,6 +40,7 @@
     <modules>
       <module>features</module>
       <module>multi-bundle</module>
+      <module>repository</module>
       <module>sources</module>
     </modules>
 </project>

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/distribution/repository/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/repository/pom.xml b/distribution/repository/pom.xml
new file mode 100644
index 0000000..767f198
--- /dev/null
+++ b/distribution/repository/pom.xml
@@ -0,0 +1,31 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.cxf.dosgi</groupId>
+        <artifactId>cxf-dosgi-ri-parent</artifactId>
+        <version>2.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+    <artifactId>cxf-dosgi-ri-repository</artifactId>
+    <packaging>pom</packaging>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.cxf.dosgi</groupId>
+            <artifactId>cxf-dosgi-ri-provider-ws</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf.dosgi</groupId>
+            <artifactId>cxf-dosgi-ri-provider-rs</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+        	<groupId>org.apache.servicemix.bundles</groupId>
+        	<artifactId>
+        		org.apache.servicemix.bundles.wsdl4j
+        	</artifactId>
+        	<version>1.6.3_1</version>
+        </dependency>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/distribution/subsystem/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/subsystem/pom.xml b/distribution/subsystem/pom.xml
deleted file mode 100644
index bade03c..0000000
--- a/distribution/subsystem/pom.xml
+++ /dev/null
@@ -1,393 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' ?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.cxf.dosgi</groupId>
-  <artifactId>cxf-dosgi-ri-subsystem-distribution</artifactId>
-  <name>Distributed OSGi Subsystem Distribution</name>
-  <url>http://cxf.apache.org</url>
-
-  <parent>
-    <groupId>org.apache.cxf.dosgi</groupId>
-    <artifactId>cxf-dosgi-ri-distribution-parent</artifactId>
-    <version>1.4-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
-
-  <properties>
-    <dosgi.version>${project.version}</dosgi.version>
-    <topDirectoryLocation>../..</topDirectoryLocation>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-annotation_1.0_spec</artifactId>
-      <version>1.1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-activation_1.1_spec</artifactId>
-      <version>1.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-javamail_1.4_spec</artifactId>
-      <version>1.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
-      <version>1.1.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-servlet_${servlet.version}_spec</artifactId>
-      <version>1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>com.springsource.org.apache.commons.logging</artifactId>
-      <version>1.1.1</version>
-    </dependency>
-    <dependency>
-	  <groupId>org.osgi</groupId>
-	  <artifactId>org.osgi.enterprise</artifactId>
-    </dependency>
-    <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-jcl</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jdom</groupId>
-      <artifactId>com.springsource.org.jdom</artifactId>
-      <version>1.1.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-core</artifactId>
-      <version>${spring.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-beans</artifactId>
-      <version>${spring.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context</artifactId>
-      <version>${spring.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.aopalliance</groupId>
-      <artifactId>com.springsource.org.aopalliance</artifactId>
-      <version>1.0.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-aop</artifactId>
-      <version>${spring.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-asm</artifactId>
-      <version>${spring.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-expression</artifactId>
-      <version>${spring.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-io</artifactId>
-      <version>${spring.osgi.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-core</artifactId>
-      <version>${spring.osgi.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.osgi</groupId>
-      <artifactId>spring-osgi-extender</artifactId>
-      <version>${spring.osgi.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.aggregate</groupId>
-      <artifactId>jetty-all-server</artifactId>
-      <version>${jetty.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.web</groupId>
-      <artifactId>pax-web-spi</artifactId>
-      <version>${pax.web.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.web</groupId>
-      <artifactId>pax-web-runtime</artifactId>
-      <version>${pax.web.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.web</groupId>
-      <artifactId>pax-web-jetty</artifactId>
-      <version>${pax.web.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.specs</groupId>
-      <artifactId>org.apache.servicemix.specs.saaj-api-1.3</artifactId>
-      <version>${servicemix.specs.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.specs</groupId>
-      <artifactId>org.apache.servicemix.specs.stax-api-1.0</artifactId>
-      <version>${servicemix.specs.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.specs</groupId>
-      <artifactId>org.apache.servicemix.specs.jaxb-api-2.1</artifactId>
-      <version>${servicemix.specs.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.specs</groupId>
-      <artifactId>org.apache.servicemix.specs.jaxws-api-2.1</artifactId>
-      <version>${servicemix.specs.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.specs</groupId>
-      <artifactId>org.apache.servicemix.specs.jsr311-api-1.1.1</artifactId>
-      <version>${servicemix.specs.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.ws.xmlschema</groupId>
-      <artifactId>xmlschema-core</artifactId>
-      <version>${xmlschema.bundle.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.xmlresolver</artifactId>
-      <version>${xmlresolver.bundle.version}</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.neethi</groupId>
-       <artifactId>neethi</artifactId>
-       <version>${neethi.bundle.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.wsdl4j</artifactId>
-      <version>${wsdl4j.bundle.version}</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.servicemix.bundles</groupId>
-       <artifactId>org.apache.servicemix.bundles.xmlsec</artifactId>
-       <version>${xmlsec.bundle.version}</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.servicemix.bundles</groupId>
-       <artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
-       <version>${jaxbimpl.bundle.version}</version>
-    </dependency>
-
-    <dependency>
-       <groupId>org.apache.servicemix.bundles</groupId>
-       <artifactId>org.apache.servicemix.bundles.asm</artifactId>
-       <version>${asm.bundle.version}</version>
-    </dependency>
-
-    <dependency>
-       <groupId>org.codehaus.woodstox</groupId>
-       <artifactId>stax2-api</artifactId>
-       <version>3.1.1</version>
-    </dependency>
-    <dependency>
-       <groupId>org.codehaus.woodstox</groupId>
-       <artifactId>woodstox-core-asl</artifactId>
-       <version>${woodstox.bundle.version}</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.servicemix.bundles</groupId>
-       <artifactId>org.apache.servicemix.bundles.commons-pool</artifactId>
-       <version>${commons.pool.bundle.version}</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.servicemix.bundles</groupId>
-       <artifactId>org.apache.servicemix.bundles.joda-time</artifactId>
-       <version>1.5.2_4</version>
-    </dependency>
-    <dependency>
-       <groupId>org.apache.servicemix.bundles</groupId>
-       <artifactId>org.apache.servicemix.bundles.opensaml</artifactId>
-       <version>2.4.1_1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cxf</groupId>
-      <artifactId>cxf-bundle-minimal</artifactId>
-      <version>${cxf.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cxf.dosgi</groupId>
-      <artifactId>cxf-dosgi-ri-discovery-local</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cxf.dosgi</groupId>
-      <artifactId>cxf-dosgi-ri-dsw-cxf</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cxf.dosgi</groupId>
-      <artifactId>cxf-dosgi-ri-topology-manager</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- Discovery dependencies -->
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.configadmin</artifactId>
-      <version>1.2.8</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.fileinstall</artifactId>
-      <version>3.1.10</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.log4j</groupId>
-      <artifactId>com.springsource.org.apache.log4j</artifactId>
-      <version>${log4j.version}</version>
-    </dependency>
-    <dependency>
-            <groupId>org.apache.hadoop</groupId>
-            <artifactId>zookeeper</artifactId>
-            <version>${zookeeper.version}</version>
-            <exclusions>
-                <exclusion>
-                   <groupId>com.sun.jdmk</groupId>
-                   <artifactId>jmxtools</artifactId>
-                </exclusion>
-                <exclusion>
-                   <groupId>com.sun.jmx</groupId>
-                   <artifactId>jmxri</artifactId>
-                </exclusion>
-                <exclusion>
-                   <groupId>log4j</groupId>
-                   <artifactId>log4j</artifactId>
-                </exclusion>
-            </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cxf.dosgi</groupId>
-      <artifactId>cxf-dosgi-ri-discovery-distributed</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.cxf.dosgi</groupId>
-        <artifactId>cxf-dosgi-ri-discovery-distributed-zookeeper-server</artifactId>
-        <version>${project.version}</version>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.cxf.dosgi</groupId>
-        <artifactId>cxf-dosgi-ri-discovery-distributed-zookeeper-server-config</artifactId>
-        <version>${project.version}</version>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-
-    <plugins>
-      <!-- The assembly plugin is used to actually build the subsystem archive -->
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>prepare-package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-            <configuration>
-              <appendAssemblyId>false</appendAssemblyId>
-              <descriptors>
-                <descriptor>./src/main/assembly/subsystem-assembly.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- Since the assembly plugin has no way to output to an .esa file extension use the antrun
-           plugin to copy the file to one with the proper extension -->
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <configuration>
-              <target>
-                <copy file="${project.build.directory}/${project.build.finalName}.zip"
-                    tofile="${project.build.directory}/${project.build.finalName}.esa" />
-              </target>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <!-- Attach the .esa file to the project so that it ends up in the repo -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.7</version>
-        <executions>
-          <execution>
-            <id>attach-instrumented-jar</id>
-            <phase>verify</phase>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>${project.build.directory}/${project.build.finalName}.esa</file>
-                  <type>esa</type>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/distribution/subsystem/src/main/assembly/subsystem-assembly.xml
----------------------------------------------------------------------
diff --git a/distribution/subsystem/src/main/assembly/subsystem-assembly.xml b/distribution/subsystem/src/main/assembly/subsystem-assembly.xml
deleted file mode 100644
index c0daf6c..0000000
--- a/distribution/subsystem/src/main/assembly/subsystem-assembly.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/component-1.1.2.xsd">
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-  <id>subsystem-feature</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-
-  <files>
-    <file>
-      <source>target/classes/OSGI-INF/SUBSYSTEM.MF</source>
-      <outputDirectory>OSGI-INF</outputDirectory>
-    </file>
-  </files>
-
-  <dependencySets>
-    <dependencySet>
-      <scope>runtime</scope>
-      <useTransitiveDependencies>false</useTransitiveDependencies>
-      <excludes>
-        <!-- Exclude the current artifact as it doesn't contribute anything other than the
-             logic to build the subsystem. -->
-        <exclude>org.apache.cxf.dosgi:cxf-dosgi-ri-subsystem-distribution</exclude>
-      </excludes>
-    </dependencySet>
-  </dependencySets>
-</assembly>

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF
----------------------------------------------------------------------
diff --git a/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF b/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF
deleted file mode 100644
index e2631e0..0000000
--- a/distribution/subsystem/src/main/resources/OSGI-INF/SUBSYSTEM.MF
+++ /dev/null
@@ -1,51 +0,0 @@
-Manifest-Version: 2.0
-Subsystem-ManifestVersion: 1.0
-Subsystem-SymbolicName: ${project.artifactId}
-Subsystem-Version: 1.4.0
-Subsystem-Name: ${project.name}
-Subsystem-Content: org.apache.geronimo.specs.geronimo-annotation_1.0_spec;start-order:=1,
- org.apache.geronimo.specs.geronimo-activation_1.1_spec;start-order:=2,
- org.apache.geronimo.specs.geronimo-javamail_1.4_spec;start-order:=3,
- org.apache.geronimo.specs.geronimo-servlet_3.0_spec;start-order:=4,
- org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec;start-order:=5,
- com.springsource.org.apache.commons.logging;start-order:=6,
- com.springsource.org.jdom;start-order:=7,
- org.springframework.core;start-order:=8,
- org.springframework.beans;start-order:=9,
- org.springframework.context;start-order:=10,
- com.springsource.org.aopalliance;start-order:=11,
- slf4j-api;start-order:=11,
- slf4j-jcl,
- org.springframework.aop;start-order:=12,
- org.springframework.asm;start-order:=13,
- org.springframework.expression;start-order:=14,
- org.springframework.osgi.io;start-order:=15,
- org.springframework.osgi.core;start-order:=16,
- org.springframework.osgi.extender;start-order:=17,
- org.eclipse.jetty.aggregate.jetty-all-server;start-order:=18,
- org.ops4j.pax.web.pax-web-spi;start-order:=19,
- org.ops4j.pax.web.pax-web-runtime;start-order:=20,
- org.ops4j.pax.web.pax-web-jetty;start-order:=21,
- org.apache.servicemix.bundles.jaxb-impl;start-order:=22,
- org.apache.servicemix.bundles.wsdl4j;start-order:=23,
- org.apache.servicemix.bundles.xmlsec;start-order:=24,
- org.apache.ws.xmlschema.core;start-order:=25,
- org.apache.servicemix.bundles.asm;start-order:=26,
- org.apache.servicemix.bundles.xmlresolver;start-order:=27,
- org.apache.neethi;start-order:=28,
- stax2-api;start-order:=29,
- woodstox-core-asl;start-order:=30,
- org.apache.servicemix.bundles.commons-pool;start-order:=31,
- org.apache.servicemix.specs.saaj-api-1.3;start-order:=32,
- org.apache.servicemix.specs.stax-api-1.0;start-order:=33,
- org.apache.servicemix.specs.jaxb-api-2.1;start-order:=34,
- org.apache.servicemix.specs.jaxws-api-2.1;start-order:=35,
- org.apache.servicemix.specs.jsr311-api-1.1.1;start-order:=36,
- org.apache.servicemix.bundles.joda-time;start-order:=37,
- org.apache.servicemix.bundles.opensaml;start-order:=38,
- org.apache.cxf.bundle-minimal;start-order:=39,
- cxf-dosgi-ri-discovery-local;start-order:=40,
- osgi.enterprise;start-order:=41,
- cxf-dosgi-ri-dsw-cxf;start-order:=42,
- cxf-dosgi-ri-topology-manager;start-order:=43
-Subsystem-Type: osgi.subsystem.feature

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsConstants.java
----------------------------------------------------------------------
diff --git a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsConstants.java b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsConstants.java
index 196a0e5..6e32f1f 100644
--- a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsConstants.java
+++ b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsConstants.java
@@ -19,7 +19,7 @@
 package org.apache.cxf.dosgi.dsw.handlers.ws;
 
 public final class WsConstants {
-    public static final String WS_CONFIG_TYPE = "org.apache.cxf" + ".ws";
+    public static final String WS_CONFIG_TYPE = "org.apache.cxf.ws";
     public static final String WS_ADDRESS_PROPERTY = WS_CONFIG_TYPE + ".address";
     public static final String WS_PORT_PROPERTY = WS_CONFIG_TYPE + ".port";
     public static final String WS_HTTP_SERVICE_CONTEXT = WS_CONFIG_TYPE + ".httpservice.context";

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
----------------------------------------------------------------------
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 e4cbcdc..26fdfd0 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
@@ -146,10 +146,14 @@ public class WsProvider implements DistributionProvider {
         String[] intents = intentManager.applyIntents(factory.getFeatures(), factory, endpointProps);
 
         String completeEndpointAddress = httpServiceManager.getAbsoluteAddress(contextRoot, address);
-        EndpointDescription epd = createEndpointDesc(endpointProps,
-                                                     new String[]{WsConstants.WS_CONFIG_TYPE},
-                                                     completeEndpointAddress, intents);
-        return createServerFromFactory(factory, epd);
+        try {
+            EndpointDescription epd = createEndpointDesc(endpointProps,
+                                                         new String[]{WsConstants.WS_CONFIG_TYPE},
+                                                         completeEndpointAddress, intents);
+            return createServerFromFactory(factory, epd);
+        } catch (Exception e) {
+            throw new RuntimeException("Error exporting service with adress " + completeEndpointAddress, e);
+        }
     }
 
     private boolean configTypeSupported(Map<String, Object> endpointProps, String configType) {

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/TestExportService.java
----------------------------------------------------------------------
diff --git a/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/TestExportService.java b/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/TestExportService.java
index e79f76a..27cc989 100644
--- a/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/TestExportService.java
+++ b/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/TestExportService.java
@@ -48,9 +48,9 @@ public class TestExportService extends AbstractDosgiTest {
         return new Option[] //
         {//
          basicTestOptions(), //
-         //debug(),
          greeterInterface(), //
-         greeterImpl(),
+         greeterImpl(), //
+         //debug(),
         };
     }
 

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/1fef3051/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/rest/TranslateActivator.java
----------------------------------------------------------------------
diff --git a/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/rest/TranslateActivator.java b/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/rest/TranslateActivator.java
index 36fe7d2..a6b1892 100644
--- a/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/rest/TranslateActivator.java
+++ b/systests2/multi-bundle/src/test/java/org/apache/cxf/dosgi/systests2/multi/rest/TranslateActivator.java
@@ -23,15 +23,16 @@ import java.util.Hashtable;
 
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
+import org.osgi.service.remoteserviceadmin.RemoteConstants;
 
 public class TranslateActivator implements BundleActivator {
 
     public void start(BundleContext context) throws Exception {
         Dictionary<String, String> props = new Hashtable<String, String>();
-        props.put("service.exported.interfaces", "*");
-        props.put("service.exported.configs", "org.apache.cxf.rs");
+        props.put(RemoteConstants.SERVICE_EXPORTED_INTERFACES, "*");
+        props.put(RemoteConstants.SERVICE_EXPORTED_CONFIGS, "org.apache.cxf.rs");
         props.put("org.apache.cxf.rs.address", "/translate");
-        context.registerService(RestTranslate.class.getName(), new RestTranslateImpl(), props);
+        context.registerService(RestTranslate.class, new RestTranslateImpl(), props);
     }
 
     public void stop(BundleContext context) throws Exception {