diff --git a/log4j.properties b/log4j.properties
new file mode 100644
index 0000000..32a71c0
--- /dev/null
+++ b/log4j.properties
@@ -0,0 +1,26 @@
+log4j.logger.org.apache.juddi.api.impl=INFO
+log4j.rootLogger=INFO, logfile
+
+# in case any output is given to stdout, format it
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
+
+log4j.appender.logfile=org.apache.log4j.RollingFileAppender
+log4j.appender.logfile.File=${catalina.home}/logs/juddi.log
+log4j.appender.logfile.MaxFileSize=512MB
+# Keep three backup files.
+log4j.appender.logfile.MaxBackupIndex=3
+# Pattern to output: date priority [category] - message
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
+
+
+#log4j.category.org.springframework.beans.property editors.CustomDateEditor=DEBUG
+
+log4j.debug=false
+
+# showing sql
+#log4j.category.org.hibernate.hql.ast.QueryTranslatorImpl=DEBUG
+#log4j.category.org.hibernate.SQL=DEBUG
+#log4j.category.org.hibernate.loader.hql.QueryLoad er=DEBUG 
diff --git a/pom.xml b/pom.xml
index fac2d38..35259c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,547 +1,759 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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>
-    <parent>
-        <groupId>org.apache</groupId>
-        <artifactId>apache</artifactId>
-        <version>6</version>
-    </parent>
-    <groupId>org.apache.ws.scout</groupId>
-    <artifactId>scout</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-    
-    <prerequisites>
-      <maven>3.0.3</maven>
-    </prerequisites>
+<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>
+	<parent>
+		<groupId>org.apache</groupId>
+		<artifactId>apache</artifactId>
+		<version>6</version>
+	</parent>
+	<groupId>org.apache.ws.scout</groupId>
+	<artifactId>scout</artifactId>
+	<version>1.2.3-SNAPSHOT</version>
+	<packaging>bundle</packaging>
 
-    <name>Apache Scout</name>
-    <description>
+	<properties>
+		<juddi.registry.version>3.1.1-SNAPSHOT</juddi.registry.version>
+	</properties>
+
+	<prerequisites>
+		<maven>3.0.3</maven>
+	</prerequisites>
+
+	<name>Apache Scout</name>
+	<description>
         Apache Scout is an implementation of the JSR 93 - JavaTM API for
         XML Registries 1.0 (JAXR)
     </description>
-    <url>http://juddi.apache.org/scout/</url>
-    <issueManagement>
-        <system>JIRA</system>
-        <url>http://issues.apache.org/jira/browse/SCOUT</url>
-    </issueManagement>
-    <ciManagement>
-        <system>Continuum</system>
-        <url>http://vmbuild.apache.org</url>
-        <notifiers>
-            <notifier>
-                <sendOnError>true</sendOnError>
-                <sendOnFailure>true</sendOnFailure>
-                <sendOnSuccess>true</sendOnSuccess>
-                <sendOnWarning>true</sendOnWarning>
-                <configuration>
-                    <address>juddi-dev@apache.org</address>
-                </configuration>
-            </notifier>
-        </notifiers>
-    </ciManagement>
-    <inceptionYear>2004</inceptionYear>
-    <mailingLists>
-        <mailingList>
-            <name>jUDDI/Scout Developers</name>
-            <subscribe>juddi-dev-subscribe@apache.org</subscribe>
-            <unsubscribe>juddi-dev-unsubscribe@apache.org</unsubscribe>
-            <post>juddi-dev@apache.org</post>
-            <archive>http://mail-archives.apache.org/mod_mbox/juddi-dev/</archive>
-        </mailingList>
-    </mailingLists>
-    <developers>
-        <developer>
-            <id>anil</id>
-            <name>Anil Saldhana</name>
-            <email>anil@apache.org</email>
-            <organization />
-        </developer>
-        <developer>
-            <id>djencks</id>
-            <name>David Jencks</name>
-            <email>djencks@apache.org</email>
-            <organization />
-        </developer>
-        <developer>
-            <id>kstam</id>
-            <name>Kurt T Stam</name>
-            <email>kstam@apache.org</email>
-            <organization />
-        </developer>
-        <developer>
-            <id>jfaath</id>
-            <name>Jeff Faath</name>
-            <email>jfaath@apache.org</email>
-            <organization />
-        </developer>
-        <developer>
-            <name>Steve Viens</name>
-            <email>sviens@apache.org</email>
-            <organization />
-        </developer>
-        <developer>
-            <id>tcunning</id>
-            <name>Tom Cunningham</name>
-            <email>tcunning@apache.org</email>
-            <organization />
-        </developer>
-    </developers>
-    <contributors>
-        <contributor>
-            <name>Deepack Bhole</name>
-            <email>dbhole@apache.org</email>
-            <organization />
-        </contributor>
-        <contributor>
-            <name>Davanum Srinivas</name>
-            <email>dims@yahoo.com</email>
-            <organization />
-        </contributor>
-        <contributor>
-            <name>Geir Magnusson Jr.</name>
-            <email>geirm@apache.org</email>
-            <organization />
-        </contributor>
-        <contributor>
-            <name>Lin Sun</name>
-            <email>linsun@apache.org</email>
-            <organization />
-        </contributor>
-        <contributor>
-            <name>Jarek Gawor</name>
-            <email>gawor@apache.org</email>
-            <organization />
-        </contributor>
-        <contributor>
-            <name>Jeremy Boynes</name>
-            <email>jboynes@apache.org</email>
-            <organization />
-        </contributor>
-    </contributors>
-    <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/juddi/scout/trunk</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/juddi/scout/trunk</developerConnection>
-        <url>http://svn.apache.org/viewcvs.cgi/juddi/scout/trunk</url>
-    </scm>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-activation_1.1_spec</artifactId>
-            <version>1.0.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jaxb_2.1_spec</artifactId>
-            <version>1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jaxr_1.0_spec</artifactId>
-            <version>2.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
-            <version>2.0.0</version>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-saaj_1.3_spec</artifactId>
-            <version>1.0.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-stax-api_1.0_spec</artifactId>
-            <version>1.0.1</version>
-        </dependency>
+	<url>http://juddi.apache.org/scout/</url>
+	<issueManagement>
+		<system>JIRA</system>
+		<url>http://issues.apache.org/jira/browse/SCOUT</url>
+	</issueManagement>
+	<ciManagement>
+		<system>Continuum</system>
+		<url>http://vmbuild.apache.org</url>
+		<notifiers>
+			<notifier>
+				<sendOnError>true</sendOnError>
+				<sendOnFailure>true</sendOnFailure>
+				<sendOnSuccess>true</sendOnSuccess>
+				<sendOnWarning>true</sendOnWarning>
+				<configuration>
+					<address>juddi-dev@apache.org</address>
+				</configuration>
+			</notifier>
+		</notifiers>
+	</ciManagement>
+	<inceptionYear>2004</inceptionYear>
+	<mailingLists>
+		<mailingList>
+			<name>jUDDI/Scout Developers</name>
+			<subscribe>juddi-dev-subscribe@apache.org</subscribe>
+			<unsubscribe>juddi-dev-unsubscribe@apache.org</unsubscribe>
+			<post>juddi-dev@apache.org</post>
+			<archive>http://mail-archives.apache.org/mod_mbox/juddi-dev/</archive>
+		</mailingList>
+	</mailingLists>
+	<developers>
+		<developer>
+			<id>anil</id>
+			<name>Anil Saldhana</name>
+			<email>anil@apache.org</email>
+			<organization />
+		</developer>
+		<developer>
+			<id>djencks</id>
+			<name>David Jencks</name>
+			<email>djencks@apache.org</email>
+			<organization />
+		</developer>
+		<developer>
+			<id>kstam</id>
+			<name>Kurt T Stam</name>
+			<email>kstam@apache.org</email>
+			<organization />
+		</developer>
+		<developer>
+			<id>jfaath</id>
+			<name>Jeff Faath</name>
+			<email>jfaath@apache.org</email>
+			<organization />
+		</developer>
+		<developer>
+			<name>Steve Viens</name>
+			<email>sviens@apache.org</email>
+			<organization />
+		</developer>
+		<developer>
+			<id>tcunning</id>
+			<name>Tom Cunningham</name>
+			<email>tcunning@apache.org</email>
+			<organization />
+		</developer>
+	</developers>
+	<contributors>
+		<contributor>
+			<name>Deepack Bhole</name>
+			<email>dbhole@apache.org</email>
+			<organization />
+		</contributor>
+		<contributor>
+			<name>Davanum Srinivas</name>
+			<email>dims@yahoo.com</email>
+			<organization />
+		</contributor>
+		<contributor>
+			<name>Geir Magnusson Jr.</name>
+			<email>geirm@apache.org</email>
+			<organization />
+		</contributor>
+		<contributor>
+			<name>Lin Sun</name>
+			<email>linsun@apache.org</email>
+			<organization />
+		</contributor>
+		<contributor>
+			<name>Jarek Gawor</name>
+			<email>gawor@apache.org</email>
+			<organization />
+		</contributor>
+		<contributor>
+			<name>Jeremy Boynes</name>
+			<email>jboynes@apache.org</email>
+			<organization />
+		</contributor>
+	</contributors>
+	<licenses>
+		<license>
+			<name>The Apache Software License, Version 2.0</name>
+			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+			<distribution>repo</distribution>
+		</license>
+	</licenses>
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/juddi/scout/trunk</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/juddi/scout/trunk</developerConnection>
+		<url>http://svn.apache.org/viewcvs.cgi/juddi/scout/trunk</url>
+	</scm>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-activation_1.1_spec</artifactId>
+			<version>1.0.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jaxb_2.1_spec</artifactId>
+			<version>1.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jaxr_1.0_spec</artifactId>
+			<version>2.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
+			<version>2.0.0</version>
+			<optional>true</optional>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-saaj_1.3_spec</artifactId>
+			<version>1.0.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-stax-api_1.0_spec</artifactId>
+			<version>1.0.1</version>
+		</dependency>
 
-        <dependency>
-            <groupId>axis</groupId>
-            <artifactId>axis</artifactId>
-            <version>1.4</version>
-            <optional>true</optional>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.axis</groupId>
-                    <artifactId>axis-jaxrpc</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.axis</groupId>
-                    <artifactId>axis-saaj</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.axis</groupId>
-                    <artifactId>axis-wsdl4j</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-discovery</groupId>
-                    <artifactId>commons-discovery</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-	<dependency>
-		<groupId>axis</groupId>
-		<artifactId>axis-saaj</artifactId>
-		<version>1.4</version>
-		<scope>test</scope>
-	</dependency>
-	<dependency>
-		<groupId>axis</groupId>
-		<artifactId>axis-jaxrpc</artifactId>
-		<version>1.4</version>
-		<scope>test</scope>
-	</dependency>
-	<dependency>
-		<groupId>commons-discovery</groupId>
-		<artifactId>commons-discovery</artifactId>
-		<version>0.2</version>
-		<scope>test</scope>
-	</dependency>
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>1.1</version>
-            <optional>true</optional>
-            <exclusions>
-                <exclusion>
-                    <groupId>logkit</groupId>
-                    <artifactId>logkit</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>avalon-framework</groupId>
-                    <artifactId>avalon-framework</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+		<dependency>
+			<groupId>axis</groupId>
+			<artifactId>axis</artifactId>
+			<version>1.4</version>
+			<optional>true</optional>
+			<exclusions>
+				<exclusion>
+					<groupId>org.apache.axis</groupId>
+					<artifactId>axis-jaxrpc</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.axis</groupId>
+					<artifactId>axis-saaj</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.axis</groupId>
+					<artifactId>axis-wsdl4j</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>commons-discovery</groupId>
+					<artifactId>commons-discovery</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>axis</groupId>
+			<artifactId>axis-saaj</artifactId>
+			<version>1.4</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>axis</groupId>
+			<artifactId>axis-jaxrpc</artifactId>
+			<version>1.4</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>commons-discovery</groupId>
+			<artifactId>commons-discovery</artifactId>
+			<version>0.2</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>commons-logging</groupId>
+			<artifactId>commons-logging</artifactId>
+			<version>1.1</version>
+			<optional>true</optional>
+			<exclusions>
+				<exclusion>
+					<groupId>logkit</groupId>
+					<artifactId>logkit</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>avalon-framework</groupId>
+					<artifactId>avalon-framework</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>javax.servlet</groupId>
+					<artifactId>servlet-api</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
 
-        <dependency>
-            <groupId>com.sun.xml.bind</groupId>
-            <artifactId>jaxb-impl</artifactId>
-            <version>2.1.9</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.xml.bind</groupId>
-                    <artifactId>jaxb-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-impl</artifactId>
+			<version>2.1.9</version>
+			<exclusions>
+				<exclusion>
+					<groupId>javax.xml.bind</groupId>
+					<artifactId>jaxb-api</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
 
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.5</version>
-            <scope>test</scope>
-        </dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.5</version>
+			<scope>test</scope>
+		</dependency>
 
-        <dependency>
-            <groupId>org.apache.juddi</groupId>
-            <artifactId>juddi</artifactId>
-            <version>2.0.1</version>
-            <scope>test</scope>
-        </dependency>
+	
 
-	<dependency>
-	    <groupId>org.apache.juddi</groupId>
-	    <artifactId>uddi-ws</artifactId>
-	    <version>3.0.2</version>
-	</dependency>
+		<dependency>
+			<groupId>org.apache.derby</groupId>
+			<artifactId>derby</artifactId>
+			<version>10.1.2.1</version>
+			<scope>test</scope>
+		</dependency>
 
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derby</artifactId>
-            <version>10.1.2.1</version>
-            <scope>test</scope>
-        </dependency>
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>1.2.13</version>
+			<scope>test</scope>
+		</dependency>
 
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.13</version>
-            <scope>test</scope>
-        </dependency>
+		<dependency>
+			<groupId>org.aspectj</groupId>
+			<artifactId>aspectjrt</artifactId>
+			<version>1.6.1</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>aspectj</groupId>
+			<artifactId>aspectjweaver</artifactId>
+			<version>1.5.2</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>aspectj-maven-plugin</artifactId>
+					<version>1.3</version>
+					<executions>
+						<execution>
+							<goals>
+								<goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
+							</goals>
+						</execution>
+					</executions>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-release-plugin</artifactId>
+					<configuration>
+						<autoVersionSubmodules>true</autoVersionSubmodules>
+						<preparationGoals>clean install</preparationGoals>
+						<goals>deploy</goals>
+						<releaseProfiles>apache-release</releaseProfiles>
+					</configuration>
+				</plugin>
 
-	<dependency>
-		<groupId>org.aspectj</groupId>
-		<artifactId>aspectjrt</artifactId>
-		<version>1.6.1</version>
-		<scope>test</scope>
-	</dependency>
-	<dependency>
-		<groupId>aspectj</groupId>
-		<artifactId>aspectjweaver</artifactId>
-		<version>1.5.2</version>
-		<scope>test</scope>
-	</dependency>
-    </dependencies>
-    <build>
-        <pluginManagement>
-             <plugins>
-		<plugin>
-			<groupId>org.codehaus.mojo</groupId>
-			<artifactId>aspectj-maven-plugin</artifactId>
-			<version>1.3</version>
-			<executions>
-				<execution>
-					<goals>
-						<goal>test-compile</goal> <!-- use this goal to weave all your test classes -->
-					</goals>
-				</execution>
-			</executions>
-		</plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-release-plugin</artifactId>
-                    <configuration>
-                        <autoVersionSubmodules>true</autoVersionSubmodules>
-                        <preparationGoals>clean install</preparationGoals>
-                        <goals>deploy</goals>
-                        <releaseProfiles>apache-release</releaseProfiles>
-                    </configuration>
-                </plugin>
+			</plugins>
+		</pluginManagement>
+		<plugins>
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<inherited>true</inherited>
+				<configuration>
+					<source>1.5</source>
+					<target>1.5</target>
+				</configuration>
+			</plugin>
 
-            </plugins>
-        </pluginManagement>
-        <plugins>
-            <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <inherited>true</inherited>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
 
-            <plugin>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>**/*Abstract*.java</exclude>
-                    </excludes>
-                    <includes>
-                        <include>**/*Test.java</include>
-                    </includes>
-                    <failIfNoTests>false</failIfNoTests>
-                </configuration>
-            </plugin>
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-bundle-plugin</artifactId>
+				<version>2.0.0</version>
+				<extensions>true</extensions>
+				<configuration>
+					<instructions>
+						<Import-Package>org.apache.axis.*;resolution:=optional,*</Import-Package>
+					</instructions>
+				</configuration>
+			</plugin>
 
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.0.0</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Import-Package>org.apache.axis.*;resolution:=optional,*</Import-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>ianal-maven-plugin</artifactId>
+				<version>1.0-alpha-1</version>
+			</plugin>
 
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>ianal-maven-plugin</artifactId>
-                <version>1.0-alpha-1</version>
-            </plugin>
-
-        </plugins>
-    </build>
-    <distributionManagement>
-        <site>
-            <id>website</id>
-            <url>scpexe://people.apache.org/www/juddi.apache.org/scout</url>
-        </site>
-    </distributionManagement>
-
-    <profiles>
-        <profile>
-            <id>apache-release</id>
-            <activation>
-                <property>
-                    <name>apache-release</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <version>2.2-beta-4</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>single</goal>
-                                </goals>
-                                <phase>package</phase>
-                                <configuration>
-                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-                                    <descriptorRefs>
-                                        <descriptorRef>
-                                            source-release
-                                        </descriptorRef>
-                                    </descriptorRefs>
-                                    <tarLongFileMode>gnu</tarLongFileMode>
-                                </configuration>
-                            </execution>
-                        </executions>
-                        <dependencies>
-                            <dependency>
-                                <!-- apache version not yet released -->
-                                <!--<groupId>org.apache</groupId>-->
-                                <groupId>org.apache.geronimo.genesis</groupId>
-                                <artifactId>apache-source-release-assembly-descriptor</artifactId>
-                                <!-- apache version not yet known -->
-                                <version>2.0</version>
-                            </dependency>
-                        </dependencies>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-		<id>testcache</id>
-		<activation>
-			<activeByDefault>false</activeByDefault>
-			<property>
-				<name>testcache</name>
-				<value>true</value>
-			</property>
-		</activation>
-		<build>
-		<plugins>		
-               	<plugin>
-                       	<groupId>org.apache.maven.plugins</groupId>
-                       	<artifactId>maven-surefire-plugin</artifactId>
-                       	<configuration>
-                       		<forkMode>pertest</forkMode>
-                               	<argLine>-javaagent:${settings.localRepository}/aspectj/aspectjweaver/1.5.2/aspectjweaver-1.5.2.jar</argLine>
-                       	</configuration>
-               	</plugin>
 		</plugins>
-		</build>
-	</profile>
-    </profiles>
+	</build>
+	<distributionManagement>
+		<site>
+			<id>website</id>
+			<url>scpexe://people.apache.org/www/juddi.apache.org/scout</url>
+		</site>
+	</distributionManagement>
 
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.5</version>
+	<profiles>
+		<profile>
+			<id>uddiv2</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+			<dependencies>
+				<dependency>
+					<groupId>org.apache.juddi</groupId>
+					<artifactId>juddi</artifactId>
+					<version>2.0.1</version>
+					<scope>test</scope>
+				</dependency>
+				    <!--  have to figure out which dependencies of 3.0.2 make the uddiv2 build work -->
+					<dependency>
+						<groupId>org.apache.juddi</groupId>
+						<artifactId>uddi-ws</artifactId>
+						<version>3.0.2</version>
+					</dependency>
+			</dependencies>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+						<version>2.4</version>
+						<configuration>
+							<skip>true</skip>
+							<includes>
+								<include>**/*Test.java</include>
+							</includes>
+							<systemProperties>
+								<property>
+									<name>derby.stream.error.file</name>
+									<value>target/derby.log</value>
+								</property>
+								<property>
+									<name>java.io.tmpdir</name>
+									<value>${basedir}/temp</value>
+								</property>
+							</systemProperties>
+							<environmentVariables>
+								<uddi.version>2</uddi.version>
+							</environmentVariables>
+						</configuration>
+						<executions>
+							<execution>
+								<id>surefire-it</id>
+								<phase>integration-test</phase>
+								<goals>
+									<goal>test</goal>
+								</goals>
+								<configuration>
+									<skip>false</skip>
+									<systemProperties>
+										<property>
+											<name>cactus.contextURL</name>
+											<value>http://localhost:8880/juddi</value>
+										</property>
+										<property>
+											<name>java.io.tmpdir</name>
+											<value>${basedir}/temp</value>
+										</property>
+									</systemProperties>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<profile>
+			<id>uddiv3</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+			<dependencies>
+				<dependency>
+					<groupId>org.apache.juddi</groupId>
+					<artifactId>juddi-tomcat</artifactId>
+					<version>3.1.1-SNAPSHOT</version>
+					<scope>test</scope>
+					<type>zip</type>
+				</dependency>
+					<dependency>
+						<groupId>org.apache.juddi</groupId>
+						<artifactId>uddi-ws</artifactId>
+						<version>3.1.0</version>
+					</dependency>
+			</dependencies>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-dependency-plugin</artifactId>
+						<version>2.1</version>
+						<executions>
+							<execution>
+								<id>copy</id>
+								<phase>package</phase>
+								<goals>
+									<goal>copy</goal>
+								</goals>
+								<configuration>
+									<artifactItems>
+										<artifactItem>
+											<groupId>org.apache.juddi</groupId>
+											<artifactId>juddi-tomcat</artifactId>
+											<version>${juddi.registry.version}</version>
+											<type>zip</type>
+											<outputDirectory>${basedir}/target</outputDirectory>
+										</artifactItem>
+									</artifactItems>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-antrun-plugin</artifactId>
+						<version>1.3</version>
+						<executions>
+							<execution>
+								<id>test</id>
+								<phase>pre-integration-test</phase>
+								<configuration>
+									<tasks>
+										<unzip dest="target"
+											src="target/juddi-tomcat-${juddi.registry.version}.zip" />
+										<copy file="${basedir}/server.xml"
+											todir="target/juddi-tomcat-${juddi.registry.version}/conf"
+											overwrite="true" />
+										<copy file="${basedir}/log4j.properties"
+											todir="target/juddi-tomcat-${juddi.registry.version}/webapps/juddiv3/WEB-INF/classes"
+											overwrite="true" />
+									</tasks>
+								</configuration>
+								<goals>
+									<goal>run</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.codehaus.cargo</groupId>
+						<artifactId>cargo-maven2-plugin</artifactId>
+						<version>1.0</version>
+						<configuration>
+							<wait>false</wait>
+							<container>
+								<containerId>tomcat6x</containerId>
+								<home>${basedir}/target/juddi-tomcat-${juddi.registry.version}</home>
+							</container>
+							<configuration>
+								<type>existing</type>
+								<home>${project.build.directory}/juddi-tomcat-${juddi.registry.version}</home>
+								<properties>
+									<cargo.logging>high</cargo.logging>
+									<cargo.hostname>localhost</cargo.hostname>
+									<cargo.servlet.port>8880</cargo.servlet.port>
+									<cargo.jvmargs>-Xms256m -Xmx256m -XX:MaxPermSize=256M</cargo.jvmargs>
+								</properties>
+							</configuration>
+						</configuration>
+						<executions>
+							<execution>
+								<id>start-container</id>
+								<phase>pre-integration-test</phase>
+								<goals>
+									<goal>start</goal>
+								</goals>
+							</execution>
+							<execution>
+								<id>stop-container</id>
+								<phase>post-integration-test</phase>
+								<goals>
+									<goal>stop</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
 
-                <reportSets>
-                    <reportSet>
-                        <reports>
-                            <report>javadoc</report>
-                            <report>test-javadoc</report>
-                        </reports>
-                    </reportSet>
-                </reportSets>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+						<version>2.4</version>
+						<configuration>
+							<skip>true</skip>
+							<includes>
+								<include>**/*Test.java</include>
+							</includes>
+							<systemProperties>
+								<property>
+									<name>derby.stream.error.file</name>
+									<value>target/derby.log</value>
+								</property>
+								<property>
+									<name>java.io.tmpdir</name>
+									<value>${basedir}/temp</value>
+								</property>
+							</systemProperties>
+							<environmentVariables>
+								<uddi.version>3</uddi.version>
+							</environmentVariables>
+						</configuration>
+						<executions>
+							<execution>
+								<id>surefire-it</id>
+								<phase>integration-test</phase>
+								<goals>
+									<goal>test</goal>
+								</goals>
+								<configuration>
+									<skip>false</skip>
+									<systemProperties>
+										<property>
+											<name>cactus.contextURL</name>
+											<value>http://localhost:8880/juddi</value>
+										</property>
+										<property>
+											<name>java.io.tmpdir</name>
+											<value>${basedir}/temp</value>
+										</property>
+									</systemProperties>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<profile>
+			<id>apache-release</id>
+			<activation>
+				<property>
+					<name>apache-release</name>
+				</property>
+			</activation>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-assembly-plugin</artifactId>
+						<version>2.2-beta-4</version>
+						<executions>
+							<execution>
+								<goals>
+									<goal>single</goal>
+								</goals>
+								<phase>package</phase>
+								<configuration>
+									<runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+									<descriptorRefs>
+										<descriptorRef>
+											source-release
+                                        </descriptorRef>
+									</descriptorRefs>
+									<tarLongFileMode>gnu</tarLongFileMode>
+								</configuration>
+							</execution>
+						</executions>
+						<dependencies>
+							<dependency>
+								<!-- apache version not yet released -->
+								<!--<groupId>org.apache</groupId> -->
+								<groupId>org.apache.geronimo.genesis</groupId>
+								<artifactId>apache-source-release-assembly-descriptor</artifactId>
+								<!-- apache version not yet known -->
+								<version>2.0</version>
+							</dependency>
+						</dependencies>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<profile>
+			<id>testcache</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+				<property>
+					<name>testcache</name>
+					<value>true</value>
+				</property>
+			</activation>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+						<configuration>
+							<forkMode>pertest</forkMode>
+							<argLine>-javaagent:${settings.localRepository}/aspectj/aspectjweaver/1.5.2/aspectjweaver-1.5.2.jar</argLine>
+						</configuration>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
 
-                <configuration>
-                    <quiet>true</quiet>
-                    <tags>
-                        <tag>
-                            <name>goal</name>
-                            <placement>Xt</placement>
-                        </tag>
-                        <tag>
-                            <name>phase</name>
-                            <placement>Xt</placement>
-                        </tag>
-                        <tag>
-                            <name>execute</name>
-                            <placement>Xt</placement>
-                        </tag>
-                        <tag>
-                            <name>requiresDependencyResolution</name>
-                            <placement>Xt</placement>
-                        </tag>
-                        <tag>
-                            <name>parameter</name>
-                            <placement>Xf</placement>
-                        </tag>
-                        <tag>
-                            <name>required</name>
-                            <placement>Xf</placement>
-                        </tag>
-                        <tag>
-                            <name>readonly</name>
-                            <placement>Xf</placement>
-                        </tag>
-                        <tag>
-                            <name>component</name>
-                            <placement>Xf</placement>
-                        </tag>
-                        <tag>
-                            <name>plexus.component</name>
-                            <placement>Xf</placement>
-                        </tag>
-                        <tag>
-                            <name>plexus.requirement</name>
-                            <placement>Xf</placement>
-                        </tag>
-                    </tags>
-                </configuration>
-            </plugin>
+	<reporting>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-javadoc-plugin</artifactId>
+				<version>2.5</version>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-                <version>2.1</version>
-            </plugin>
+				<reportSets>
+					<reportSet>
+						<reports>
+							<report>javadoc</report>
+							<report>test-javadoc</report>
+						</reports>
+					</reportSet>
+				</reportSets>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <sourceEncoding>utf-8</sourceEncoding>
-                    <minimumTokens>100</minimumTokens>
-                    <targetJdk>1.5</targetJdk>
-                    <linkXRef>true</linkXRef>
-                </configuration>
-            </plugin>
+				<configuration>
+					<quiet>true</quiet>
+					<tags>
+						<tag>
+							<name>goal</name>
+							<placement>Xt</placement>
+						</tag>
+						<tag>
+							<name>phase</name>
+							<placement>Xt</placement>
+						</tag>
+						<tag>
+							<name>execute</name>
+							<placement>Xt</placement>
+						</tag>
+						<tag>
+							<name>requiresDependencyResolution</name>
+							<placement>Xt</placement>
+						</tag>
+						<tag>
+							<name>parameter</name>
+							<placement>Xf</placement>
+						</tag>
+						<tag>
+							<name>required</name>
+							<placement>Xf</placement>
+						</tag>
+						<tag>
+							<name>readonly</name>
+							<placement>Xf</placement>
+						</tag>
+						<tag>
+							<name>component</name>
+							<placement>Xf</placement>
+						</tag>
+						<tag>
+							<name>plexus.component</name>
+							<placement>Xf</placement>
+						</tag>
+						<tag>
+							<name>plexus.requirement</name>
+							<placement>Xf</placement>
+						</tag>
+					</tags>
+				</configuration>
+			</plugin>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>2.1</version>
-                <configuration>
-                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                </configuration>
-            </plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jxr-plugin</artifactId>
+				<version>2.1</version>
+			</plugin>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-report-plugin</artifactId>
-                <version>2.4.3</version>
-            </plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-pmd-plugin</artifactId>
+				<version>2.4</version>
+				<configuration>
+					<sourceEncoding>utf-8</sourceEncoding>
+					<minimumTokens>100</minimumTokens>
+					<targetJdk>1.5</targetJdk>
+					<linkXRef>true</linkXRef>
+				</configuration>
+			</plugin>
 
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.2</version>
-                <configuration>
-                    <quiet>true</quiet>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>jdepend-maven-plugin</artifactId>
-                <version>2.0-beta-2</version>
-            </plugin>
-        </plugins>
-    </reporting>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-project-info-reports-plugin</artifactId>
+				<version>2.1</version>
+				<configuration>
+					<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-report-plugin</artifactId>
+				<version>2.4.3</version>
+			</plugin>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>cobertura-maven-plugin</artifactId>
+				<version>2.2</version>
+				<configuration>
+					<quiet>true</quiet>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>jdepend-maven-plugin</artifactId>
+				<version>2.0-beta-2</version>
+			</plugin>
+		</plugins>
+	</reporting>
 </project>
diff --git a/server.xml b/server.xml
new file mode 100644
index 0000000..6c98bd7
--- /dev/null
+++ b/server.xml
@@ -0,0 +1,144 @@
+<?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.
+-->
+<!-- Note:  A "Server" is not itself a "Container", so you may not
+     define subcomponents such as "Valves" at this level.
+     Documentation at /docs/config/server.html
+ -->
+<Server port="8005" shutdown="SHUTDOWN">
+
+  <!--APR library loader. Documentation at /docs/apr.html -->
+  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
+  <Listener className="org.apache.catalina.core.JasperListener" />
+  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
+  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+
+  <!-- Global JNDI resources
+       Documentation at /docs/jndi-resources-howto.html
+  -->
+  <GlobalNamingResources>
+    <!-- Editable user database that can also be used by
+         UserDatabaseRealm to authenticate users
+    -->
+    <Resource name="UserDatabase" auth="Container"
+              type="org.apache.catalina.UserDatabase"
+              description="User database that can be updated and saved"
+              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+              pathname="conf/tomcat-users.xml" />
+  </GlobalNamingResources>
+
+  <!-- A "Service" is a collection of one or more "Connectors" that share
+       a single "Container" Note:  A "Service" is not itself a "Container", 
+       so you may not define subcomponents such as "Valves" at this level.
+       Documentation at /docs/config/service.html
+   -->
+  <Service name="Catalina">
+  
+    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
+    <!--
+    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
+        maxThreads="150" minSpareThreads="4"/>
+    -->
+    
+    
+    <!-- A "Connector" represents an endpoint by which requests are received
+         and responses are returned. Documentation at :
+         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
+         Java AJP  Connector: /docs/config/ajp.html
+         APR (HTTP/AJP) Connector: /docs/apr.html
+         Define a non-SSL HTTP/1.1 Connector on port 8080
+    -->
+    <Connector port="8880" protocol="HTTP/1.1" 
+               connectionTimeout="20000" 
+               redirectPort="8443" />
+    <!-- A "Connector" using the shared thread pool-->
+    <!--
+    <Connector executor="tomcatThreadPool"
+               port="8080" protocol="HTTP/1.1" 
+               connectionTimeout="20000" 
+               redirectPort="8443" />
+    -->           
+    <!-- Define a SSL HTTP/1.1 Connector on port 8443
+         This connector uses the JSSE configuration, when using APR, the 
+         connector should be using the OpenSSL style configuration
+         described in the APR documentation -->
+    <!--
+    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
+               maxThreads="150" scheme="https" secure="true"
+               clientAuth="false" sslProtocol="TLS" />
+    -->
+
+    <!-- Define an AJP 1.3 Connector on port 8009 -->
+    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+
+
+    <!-- An Engine represents the entry point (within Catalina) that processes
+         every request.  The Engine implementation for Tomcat stand alone
+         analyzes the HTTP headers included with the request, and passes them
+         on to the appropriate Host (virtual host).
+         Documentation at /docs/config/engine.html -->
+
+    <!-- You should set jvmRoute to support load-balancing via AJP ie :
+    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">         
+    --> 
+    <Engine name="Catalina" defaultHost="localhost">
+
+      <!--For clustering, please take a look at documentation at:
+          /docs/cluster-howto.html  (simple how to)
+          /docs/config/cluster.html (reference documentation) -->
+      <!--
+      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
+      -->        
+
+      <!-- The request dumper valve dumps useful debugging information about
+           the request and response data received and sent by Tomcat.
+           Documentation at: /docs/config/valve.html -->
+      <!--
+      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
+      -->
+
+      <!-- This Realm uses the UserDatabase configured in the global JNDI
+           resources under the key "UserDatabase".  Any edits
+           that are performed against this UserDatabase are immediately
+           available for use by the Realm.  -->
+      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+             resourceName="UserDatabase"/>
+
+      <!-- Define the default virtual host
+           Note: XML Schema validation will not work with Xerces 2.2.
+       -->
+      <Host name="localhost"  appBase="webapps"
+            unpackWARs="true" autoDeploy="true"
+            xmlValidation="false" xmlNamespaceAware="false">
+
+        <!-- SingleSignOn valve, share authentication between web applications
+             Documentation at: /docs/config/valve.html -->
+        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+
+        <!-- Access log processes all example.
+             Documentation at: /docs/config/valve.html -->
+        <!--
+        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
+               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
+        -->
+
+      </Host>
+    </Engine>
+  </Service>
+</Server>
diff --git a/src/test/java/org/apache/ws/scout/BaseTestCase.java b/src/test/java/org/apache/ws/scout/BaseTestCase.java
index e450554..7eda754 100644
--- a/src/test/java/org/apache/ws/scout/BaseTestCase.java
+++ b/src/test/java/org/apache/ws/scout/BaseTestCase.java
@@ -18,6 +18,7 @@
 
 import java.net.PasswordAuthentication;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 
@@ -63,8 +64,14 @@
         System.out.println("************************************************************");
         try
         {
+        	String envUDDIVersion =  System.getenv("uddi.version");
+        	if (envUDDIVersion==null) envUDDIVersion = "2";
+        	String propertiesFile = "/scoutv" + envUDDIVersion + ".properties";
+        	
+        	System.out.println("Reading Scout Properties from: " + propertiesFile);
+        	
             Properties scoutProperties = new Properties();
-            scoutProperties.load(getClass().getResourceAsStream("/scout.properties"));
+            scoutProperties.load(getClass().getResourceAsStream(propertiesFile));
             
             Properties juddiProperties = new Properties();
             juddiProperties.load(getClass().getResourceAsStream("/juddi.properties"));
diff --git a/src/test/resources/scout.properties b/src/test/resources/scoutv2.properties
similarity index 100%
rename from src/test/resources/scout.properties
rename to src/test/resources/scoutv2.properties
diff --git a/src/test/resources/scoutv3.properties b/src/test/resources/scoutv3.properties
new file mode 100644
index 0000000..e774a33
--- /dev/null
+++ b/src/test/resources/scoutv3.properties
@@ -0,0 +1,18 @@
+########################################################################################################
+# TRANSPORT
+########################################################################################################
+#axis transport
+inquery.uri     =http://localhost:8880/juddiv3/services/inquiry
+publish.uri     =http://localhost:8880/juddiv3/services/publish
+security.uri	=http://localhost:8880/juddiv3/services/security
+transport.class =org.apache.ws.scout.transport.AxisTransport
+scout.proxy.uddiVersion=3.0
+scout.proxy.uddiNamespace=urn:uddi-org:api_v3
+#
+########################################################################################################
+# SECURITY
+########################################################################################################
+userid          =root
+password        =root
+
+javax.xml.registry.uddi.maxRows=10
diff --git a/src/test/resources/scoutv3.properties-example b/src/test/resources/scoutv3.properties-example
deleted file mode 100644
index cda6ef8..0000000
--- a/src/test/resources/scoutv3.properties-example
+++ /dev/null
@@ -1,36 +0,0 @@
-########################################################################################################
-# TRANSPORT
-########################################################################################################
-#local transport
-#inquery.uri     =org.apache.juddi.registry.local.InquiryService#inquire
-#publish.uri     =org.apache.juddi.registry.local.PublishService#publish
-#transport.class =org.apache.ws.scout.transport.LocalTransport
-#rmi transport        
-#inquery.uri     =jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire
-#publish.uri     =jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish
-#transport.class =org.apache.ws.scout.transport.RMITransport
-#axis transport
-inquery.uri     =http://localhost:8080/juddi/services/inquiry
-publish.uri     =http://localhost:8080/juddi/services/publish
-security.uri	=http://localhost:8080/juddi/services/security
-transport.class =org.apache.ws.scout.transport.AxisTransport
-scout.proxy.uddiVersion=3.0
-scout.proxy.uddiNamespace=urn:uddi-org:api_v3
-#axis2 transport
-#inquery.uri     =http://localhost:8080/juddi/inquiry
-#publish.uri     =http://localhost:8080/juddi/publish
-#transport.class =org.apache.ws.scout.transport.Axis2Transport
-#soap transport
-#inquery.uri     =http://kstam.int.atl.jboss.com:9901/uddi/inquiry_v2
-#publish.uri     =http://kstam.int.atl.jboss.com:9901/uddi/publish_v2
-#transport.class =org.apache.ws.scout.transport.AxisTransport
-#userid          =Administrator
-#password        =password
-#
-########################################################################################################
-# SECURITY
-########################################################################################################
-userid          =root
-password        =root
-
-javax.xml.registry.uddi.maxRows=10
