diff --git a/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java b/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java
index 047e789..ebbaa4f 100644
--- a/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java
+++ b/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerImpl.java
@@ -88,10 +88,10 @@
  */
 public class BusinessLifeCycleManagerImpl extends LifeCycleManagerImpl
         implements BusinessLifeCycleManager, Serializable {
-	
-	
-    private static final long serialVersionUID = 1L;
-    private Log log = LogFactory.getLog(this.getClass());
+		
+	private static final long serialVersionUID = -4533264314909343311L;
+
+	private Log log = LogFactory.getLog(this.getClass());
     
     private transient ObjectFactory objectFactory = new ObjectFactory();
 	
diff --git a/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerV3Impl.java b/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerV3Impl.java
index f0a633a..7d6384e 100644
--- a/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerV3Impl.java
+++ b/src/main/java/org/apache/ws/scout/registry/BusinessLifeCycleManagerV3Impl.java
@@ -48,16 +48,35 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.uddi.api_v3.*;
 import org.apache.ws.scout.registry.infomodel.ConceptImpl;
 import org.apache.ws.scout.registry.infomodel.InternationalStringImpl;
 import org.apache.ws.scout.registry.infomodel.KeyImpl;
 import org.apache.ws.scout.registry.infomodel.OrganizationImpl;
 import org.apache.ws.scout.registry.infomodel.ServiceImpl;
-import org.apache.ws.scout.util.ScoutJaxrUddiHelper;
 import org.apache.ws.scout.util.ScoutJaxrUddiV3Helper;
-import org.apache.ws.scout.util.ScoutUddiJaxrHelper;
 import org.apache.ws.scout.util.ScoutUddiV3JaxrHelper;
+import org.uddi.api_v3.AssertionStatusItem;
+import org.uddi.api_v3.AssertionStatusReport;
+import org.uddi.api_v3.AuthToken;
+import org.uddi.api_v3.BindingDetail;
+import org.uddi.api_v3.BindingTemplate;
+import org.uddi.api_v3.BusinessDetail;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.BusinessInfo;
+import org.uddi.api_v3.BusinessService;
+import org.uddi.api_v3.Description;
+import org.uddi.api_v3.DispositionReport;
+import org.uddi.api_v3.ErrInfo;
+import org.uddi.api_v3.KeyedReference;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.ObjectFactory;
+import org.uddi.api_v3.PublisherAssertion;
+import org.uddi.api_v3.PublisherAssertions;
+import org.uddi.api_v3.Result;
+import org.uddi.api_v3.ServiceDetail;
+import org.uddi.api_v3.ServiceInfo;
+import org.uddi.api_v3.TModel;
+import org.uddi.api_v3.TModelDetail;
 
 /**
  * Implements JAXR BusinessLifeCycleManager Interface.
@@ -69,10 +88,10 @@
  */
 public class BusinessLifeCycleManagerV3Impl extends LifeCycleManagerImpl
         implements BusinessLifeCycleManager, Serializable {
-	
-	
-    private static final long serialVersionUID = 1L;
-    private Log log = LogFactory.getLog(this.getClass());
+		
+	private static final long serialVersionUID = -1145007155334678356L;
+
+	private Log log = LogFactory.getLog(this.getClass());
     
     private transient ObjectFactory objectFactory = new ObjectFactory();
 	
diff --git a/src/main/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java b/src/main/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java
index 36394e3..32b8e52 100644
--- a/src/main/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java
+++ b/src/main/java/org/apache/ws/scout/registry/ConnectionFactoryImpl.java
@@ -40,8 +40,8 @@
  */
 public class ConnectionFactoryImpl extends ConnectionFactory implements Serializable
 {
-    private static final long serialVersionUID = 1L;
-    private static final String QUERYMANAGER_PROPERTY = "javax.xml.registry.queryManagerURL";
+	private static final long serialVersionUID = -6902106826496922256L;
+	private static final String QUERYMANAGER_PROPERTY = "javax.xml.registry.queryManagerURL";
     private static final String LIFECYCLEMANAGER_PROPERTY = "javax.xml.registry.lifeCycleManagerURL";
     private static final String SECURITYMANAGER_PROPERTY = "javax.xml.registry.securityManagerURL";
     private static final String SEMANTICEQUIVALENCES_PROPERTY = "javax.xml.registry.semanticEquivalences";
diff --git a/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java b/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
index c279662..4324da9 100644
--- a/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
+++ b/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
@@ -34,8 +34,8 @@
  */
 public class ConnectionImpl implements Connection, Serializable
 {
-    private static final long serialVersionUID = 1L;
-    private boolean closed = false;
+	private static final long serialVersionUID = 3542404895814764176L;
+	private boolean closed = false;
     private boolean synchronous = true;
     private Set credentials;
     private final IRegistryBase registry;
diff --git a/src/main/java/org/apache/ws/scout/registry/RegistryException.java b/src/main/java/org/apache/ws/scout/registry/RegistryException.java
index 09aa957..5ea3cb5 100644
--- a/src/main/java/org/apache/ws/scout/registry/RegistryException.java
+++ b/src/main/java/org/apache/ws/scout/registry/RegistryException.java
@@ -30,7 +30,7 @@
  */
 public class RegistryException extends Exception
 {
-    private static final long serialVersionUID = 1L;
+	private static final long serialVersionUID = -6628826473199096011L;
 	public static final int E_ASSERTION_NOT_FOUND = 30000;
 	public static final int E_AUTH_TOKEN_EXPIRED = 10110;
 	public static final int E_AUTH_TOKEN_REQUIRED = 10120;
diff --git a/src/main/java/org/apache/ws/scout/registry/RegistryV3Exception.java b/src/main/java/org/apache/ws/scout/registry/RegistryV3Exception.java
index 3285420..0f153e7 100644
--- a/src/main/java/org/apache/ws/scout/registry/RegistryV3Exception.java
+++ b/src/main/java/org/apache/ws/scout/registry/RegistryV3Exception.java
@@ -26,7 +26,7 @@
  */
 public class RegistryV3Exception extends Exception
 {
-    private static final long serialVersionUID = 1L;
+	private static final long serialVersionUID = -733955749275810694L;
 	public static final int E_ASSERTION_NOT_FOUND = 30000;
 	public static final int E_AUTH_TOKEN_EXPIRED = 10110;
 	public static final int E_AUTH_TOKEN_REQUIRED = 10120;
