Merge changes from trunk.
diff --git a/release-docs/LICENSE.txt b/LICENSE
similarity index 100%
rename from release-docs/LICENSE.txt
rename to LICENSE
diff --git a/release-docs/NOTICE.txt b/NOTICE
similarity index 100%
rename from release-docs/NOTICE.txt
rename to NOTICE
diff --git a/release-docs/README.txt b/README
similarity index 100%
rename from release-docs/README.txt
rename to README
diff --git a/apidocs/pom.xml b/apidocs/pom.xml
new file mode 100644
index 0000000..8a7a60c
--- /dev/null
+++ b/apidocs/pom.xml
@@ -0,0 +1,117 @@
+<?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>
+    <parent>
+        <groupId>org.apache.rampart</groupId>
+        <artifactId>rampart-project</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>apidocs</artifactId>
+    <name>Javadoc</name>
+    <packaging>pom</packaging>
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-policy</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-trust</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>site-javadoc</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>javadoc-no-fork</goal>
+                        </goals>
+                        <configuration>
+                            <reportOutputDirectory>${project.reporting.outputDirectory}</reportOutputDirectory>
+                            <destDir>.</destDir>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>dist-javadoc</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>javadoc-no-fork</goal>
+                        </goals>
+                        <configuration>
+                            <reportOutputDirectory>${project.build.directory}/apidocs</reportOutputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+                <configuration>
+                    <includeDependencySources>true</includeDependencySources>
+                    <dependencySourceIncludes>
+                        <dependencySourceInclude>${project.groupId}:*</dependencySourceInclude>
+                    </dependencySourceIncludes>
+                    <!-- There are no other modules that generate Javadoc we can link to -->
+                    <detectOfflineLinks>false</detectOfflineLinks>
+                    <breakiterator>true</breakiterator>
+                    <!-- The notimestamp, windowtitle and bottom parameters are chosen to minimize the number
+                         of changes between releases (to avoid mass changes when committing the site for a new release) -->
+                    <notimestamp>true</notimestamp>
+                    <windowtitle>Apache Rampart</windowtitle>
+                    <bottom><![CDATA[Copyright &copy; {organizationName}. All Rights Reserved.]]></bottom>
+                    <!-- doctitle only appears in the summary and we should include the version there -->
+                    <doctitle>Apache Rampart ${project.version}</doctitle>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <descriptors>
+                                <descriptor>src/main/assembly/apidocs.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/apidocs/src/main/assembly/apidocs.xml b/apidocs/src/main/assembly/apidocs.xml
new file mode 100644
index 0000000..4c4b6f1
--- /dev/null
+++ b/apidocs/src/main/assembly/apidocs.xml
@@ -0,0 +1,32 @@
+<?xml version="1.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.
+  -->
+<assembly>
+    <id>javadoc</id>
+    <includeBaseDirectory>false</includeBaseDirectory> 
+    <formats>
+        <format>zip</format>
+    </formats>
+    <fileSets>
+        <fileSet>
+            <directory>${project.build.directory}/apidocs</directory>
+            <outputDirectory>.</outputDirectory>
+        </fileSet>
+    </fileSets>
+</assembly>
diff --git a/build.xml b/build.xml
deleted file mode 100644
index e599718..0000000
--- a/build.xml
+++ /dev/null
@@ -1,181 +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 name="Apache Rampart release build" default="dist">
-
-    <property name="rampart.version" value="SNAPSHOT"/>
-    <property name="rampart.bin.dist" value="rampart"/>
-    <property name="rampart.src.dist" value="rampart-src"/>
-    <property name="rampart.docs.dist" value="rampart-docs"/>
-    
-    <property name="dir.dist" value="dist"/>
-    <property name="dir.dist.bin" value="${dir.dist}/bin/${rampart.bin.dist}-${rampart.version}"/>
-    <property name="dir.dist.src" value="${dir.dist}/src/${rampart.src.dist}-${rampart.version}"/>
-    <property name="dir.dist.docs" value="${dir.dist}/docs/${rampart.docs.dist}-${rampart.version}"/>
-    
-    <property name="dir.mvn2.repo" value="${user.home}/.m2/repository"/>
-    
-    <property name="version.bcprov13" value="132"/>
-    <property name="version.bcprov15" value="132"/>
-        
-    <property name="version.xmlsec" value="1.4.0"/>
-    <property name="version.opensaml" value="1.1"/>
-    <property name="version.wss4j" value="SNAPSHOT"/>
-    
-        
-    <condition property="jdk14.present">
-      <equals arg1="${ant.java.version}" arg2="1.4"/>
-    </condition>
-
-    <target name="init">
-    		<mkdir dir="${dir.dist}"/>
-    </target>
-    
-    <target name="dist" depends="clean, bin-dist, src-dist, docs-dist">
-        <copy todir="${dir.dist}" file="modules/rampart-mar/target/rampart-${rampart.version}.mar"/>
-		<copy todir="${dir.dist}" file="modules/rampart-trust-mar/target/rahas-${rampart.version}.mar"/>
-	    <copy todir="${dir.dist}" file="modules/rampart-core/target/rampart-core-${rampart.version}.jar"/>
-        <copy todir="${dir.dist}" file="modules/rampart-policy/target/rampart-policy-${rampart.version}.jar"/>
-        <copy todir="${dir.dist}" file="modules/rampart-trust/target/rampart-trust-${rampart.version}.jar"/>
-    </target>
-
-    <target name="bin-dist" depends="init">
-    		
-        <mkdir dir="${dir.dist.bin}"/>
-		
-        <copy todir="${dir.dist.bin}">
-            <fileset dir="release-docs">
-            </fileset>
-        </copy>
-        
-        <!-- Modules -->
-        <echo>Copying mars in to modules</echo>
-        <copy todir="${dir.dist.bin}" file="modules/rampart-mar/target/rampart-${rampart.version}.mar"/>
-        <copy todir="${dir.dist.bin}" file="modules/rampart-trust-mar/target/rahas-${rampart.version}.mar"/>
-        
-        <!-- All dep jars -->
-        <echo>Copying dependencies into lib</echo>
-        <mkdir dir="${dir.dist.bin}/lib"/>
-        
-        <copy todir="${dir.dist.bin}/lib" file="modules/rampart-core/target/rampart-core-${rampart.version}.jar"/>
-        <copy todir="${dir.dist.bin}/lib" file="modules/rampart-policy/target/rampart-policy-${rampart.version}.jar"/>
-        <copy todir="${dir.dist.bin}/lib" file="modules/rampart-trust/target/rampart-trust-${rampart.version}.jar"/>
-        <copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/org/apache/santuario/xmlsec/${version.xmlsec}/xmlsec-${version.xmlsec}.jar"/>
-        <copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/opensaml/opensaml/${version.opensaml}/opensaml-${version.opensaml}.jar"/>
-        <copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/org/apache/ws/security/wss4j/${version.wss4j}/wss4j-${version.wss4j}.jar"/>
-        <antcall target="copy-bc-jar-14" />
-        <antcall target="copy-bc-jar-15" />
-
-        <echo>Copying samples</echo>
-        <!-- copy samples -->
-        <mkdir dir="${dir.dist.bin}/samples"/>
-        
-        <copy todir="${dir.dist.bin}/samples">
-            <fileset dir="modules/rampart-samples/">
-            </fileset>
-        </copy>
-        
-        <zip destfile="${dir.dist}/${rampart.bin.dist}-${rampart.version}.zip">
-            <zipfileset dir="${dir.dist.bin}/../"/>
-        </zip>
-        
-        <delete dir="${dir.dist.bin}/../"/>
-
-    </target>
-    
-    <target name="copy-bc-jar-14" if="${jdk14.present}">
-		<copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/bouncycastle/bcprov-jdk13/${version.bcprov13}/bcprov-jdk13-${version.bcprov13}.jar"/>
-    </target>
-
-    <target name="copy-bc-jar-15" unless="${jdk14.present}">
-		<copy todir="${dir.dist.bin}/lib" file="${dir.mvn2.repo}/bouncycastle/bcprov-jdk15/${version.bcprov15}/bcprov-jdk15-${version.bcprov15}.jar"/>
-    </target>
-    
-    <target name="src-dist" depends="init">
-
-        <mkdir dir="${dir.dist.src}"/>
-		
-        <copy todir="${dir.dist.src}">
-            <fileset dir="release-docs">
-                <exclude name="build.xml"/>
-                <exclude name="README.txt"/>
-            </fileset>
-        </copy>
-        
-        <copy todir="${dir.dist.src}">
-			<fileset dir="modules">
-			    <include name="rampart-core/**/*"/>
-				<include name="rampart-policy/**/*"/>
-			    <include name="rampart-trust/**/*"/>
-			    <include name="rampart-samples/**/*"/>
-			    <exclude name=".svn"/>
-			</fileset>
-    		</copy>
-        
-        <zip destfile="${dir.dist}/${rampart.src.dist}-${rampart.version}.zip">
-            <zipfileset dir="${dir.dist.src}/../"/>
-        </zip>
-        
-        <delete dir="${dir.dist.src}/../"/>        
-    </target>
-
-    <target name="docs-dist">
-
-        <mkdir dir="${dir.dist.docs}"/>
-
-        <copy todir="${dir.dist.docs}">
-            <fileset dir="release-docs">
-                <exclude name="build.xml"/>
-                <exclude name="README.txt"/>
-            </fileset>
-        </copy>
-        
-        <mkdir dir="${dir.dist.docs}/core"/>
-        <mkdir dir="${dir.dist.docs}/policy"/>
-        <mkdir dir="${dir.dist.docs}/trust"/>
-        
-        <copy todir="${dir.dist.docs}/core">
-        		<fileset dir="modules/rampart-core/target/site/apidocs/">
-        		</fileset>
-        </copy>
-        
-        <copy todir="${dir.dist.docs}/policy">
-        		<fileset dir="modules/rampart-policy/target/site/apidocs/">
-        		</fileset>
-        </copy>
-
-        <copy todir="${dir.dist.docs}/trust">
-        		<fileset dir="modules/rampart-trust/target/site/apidocs/">
-        		</fileset>
-        </copy>
-        
-        <zip destfile="${dir.dist}/${rampart.docs.dist}-${rampart.version}.zip">
-            <zipfileset dir="${dir.dist.docs}/../"/>
-        </zip>
-            
-        <delete dir="${dir.dist.docs}/../"/>
-    </target>
-
-    <target name="clean">
-		<delete dir="${dir.dist}"/>
-    </target>
-    
-</project>
diff --git a/code-coverage/pom.xml b/code-coverage/pom.xml
new file mode 100644
index 0000000..568e9fc
--- /dev/null
+++ b/code-coverage/pom.xml
@@ -0,0 +1,207 @@
+<?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>
+    <parent>
+        <groupId>org.apache.rampart</groupId>
+        <artifactId>rampart-project</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>code-coverage</artifactId>
+    <name>Code Coverage Report</name>
+    <packaging>pom</packaging>
+    <dependencies>
+        <!--
+          For each project that should appear in the coverage report, add the main artifact and the source JAR as dependency.
+          For each project that contributes code coverage, add a dependency to the jacoco.exec file
+          (i.e. classifier=jacoco and type=exec).
+        -->
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-core</artifactId>
+            <version>${project.version}</version>
+            <classifier>sources</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-core</artifactId>
+            <version>${project.version}</version>
+            <classifier>jacoco</classifier>
+            <type>exec</type>
+        </dependency>
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-policy</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-policy</artifactId>
+            <version>${project.version}</version>
+            <classifier>sources</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-policy</artifactId>
+            <version>${project.version}</version>
+            <classifier>jacoco</classifier>
+            <type>exec</type>
+        </dependency>
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-trust</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-trust</artifactId>
+            <version>${project.version}</version>
+            <classifier>sources</classifier>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-trust</artifactId>
+            <version>${project.version}</version>
+            <classifier>jacoco</classifier>
+            <type>exec</type>
+        </dependency>
+
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-integration</artifactId>
+            <version>${project.version}</version>
+            <classifier>jacoco</classifier>
+            <type>exec</type>
+        </dependency>
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-tests</artifactId>
+            <version>${project.version}</version>
+            <classifier>jacoco</classifier>
+            <type>exec</type>
+        </dependency>
+        
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-sample</artifactId>
+            <version>${project.version}</version>
+            <classifier>jacoco</classifier>
+            <type>exec</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-jacoco-exec</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/jacoco/exec</outputDirectory>
+                            <includeClassifiers>jacoco</includeClassifiers>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-sources</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>unpack-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/jacoco/sources</outputDirectory>
+                            <includeClassifiers>sources</includeClassifiers>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-classes</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>unpack-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/jacoco/classes</outputDirectory>
+                            <includeTypes>jar</includeTypes>
+                            <excludeClassifiers>sources</excludeClassifiers>
+                            <excludeTransitive>true</excludeTransitive>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>jacoco-report</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <target>
+                                <taskdef name="report" classname="org.jacoco.ant.ReportTask" />
+                                <report>
+                                    <executiondata>
+                                        <fileset dir="${project.build.directory}/jacoco/exec" />
+                                    </executiondata>
+                                    <structure name="Coverage Report">
+                                        <classfiles>
+                                            <fileset dir="${project.build.directory}/jacoco/classes" />
+                                        </classfiles>
+                                        <sourcefiles>
+                                            <fileset dir="${project.build.directory}/jacoco/sources" />
+                                        </sourcefiles>
+                                    </structure>
+                                    <html destdir="${project.reporting.outputDirectory}" />
+                                </report>
+                            </target>
+                        </configuration>
+                    </execution>  
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.jacoco</groupId>
+                        <artifactId>org.jacoco.ant</artifactId>
+                        <version>${jacoco.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/etc/dist.py b/etc/dist.py
new file mode 100644
index 0000000..2f17490
--- /dev/null
+++ b/etc/dist.py
@@ -0,0 +1,45 @@
+#
+# 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.
+#
+
+from os import *
+from os.path import *
+from shutil import copyfile
+from shutil import rmtree
+from subprocess import call
+from xml.etree.ElementTree import parse
+
+root_dir = realpath(join(dirname(__file__), ".."))
+pom = parse(join(root_dir, "pom.xml"))
+release = pom.getroot().find("{http://maven.apache.org/POM/4.0.0}version").text
+dist_root = join(root_dir, "target", "dist")
+dist_dir = join(dist_root, release)
+
+if exists(dist_root):
+    rmtree(dist_root)
+call(["svn", "checkout", "https://dist.apache.org/repos/dist/dev/axis/axis2/java/rampart/", dist_root])
+mkdir(dist_dir)
+for classifier in [ "bin", "src" ]:
+    for suffix in [ "zip", "zip.asc", "zip.md5", "zip.sha1" ]:
+        file = "rampart-dist-" + release + "-" + classifier + "." + suffix
+        copyfile(join(root_dir, "modules", "distribution", "target", file), join(dist_dir, file))
+call(["svn", "add", dist_dir])
+if release.endswith("-SNAPSHOT"):
+    print "Skipping commit because version is a snapshot."
+else:
+    call(["svn", "commit", dist_dir])
diff --git a/modules/distribution/bin.xml b/modules/distribution/bin.xml
index be4c560..eb9be75 100644
--- a/modules/distribution/bin.xml
+++ b/modules/distribution/bin.xml
@@ -1,23 +1,23 @@
 <assembly>
     <id>bin</id>
-    <includeBaseDirectory>false</includeBaseDirectory>
+    <baseDirectory>rampart-${version}</baseDirectory>
     <formats>
         <format>zip</format>
     </formats>
     <dependencySets>
         <dependencySet>
-            <outputDirectory>${dist.dir}/modules</outputDirectory>
+            <outputDirectory>modules</outputDirectory>
             <includes>
                 <include>org.apache.rampart:rampart:mar</include>
                 <include>org.apache.rampart:rahas:mar</include>
             </includes>
         </dependencySet>
         <dependencySet>
-            <outputDirectory>${dist.dir}/lib</outputDirectory>
+            <outputDirectory>lib</outputDirectory>
             <includes>
                 <include>org.apache.santuario:xmlsec:jar</include>
                 <include>org.apache.ws.security:wss4j:jar</include>
-                <include>bouncycastle:bcprov-jdk15:jar</include>
+                <include>org.bouncycastle:bcprov-jdk15on:jar</include>
                 <include>org.apache.rampart:rampart-core:jar</include>
                 <include>org.apache.rampart:rampart-policy:jar</include>
                 <include>org.apache.rampart:rampart-trust:jar</include>
@@ -37,46 +37,48 @@
                 <include>org.owasp.esapi:esapi:jar</include>
             </includes>
         </dependencySet>
+        <dependencySet>
+            <outputDirectory>docs/apidocs</outputDirectory>
+            <includes>
+                <include>*:apidocs:zip</include>
+            </includes>
+            <useProjectArtifact>false</useProjectArtifact>
+            <unpack>true</unpack>
+        </dependencySet>
     </dependencySets>
     <fileSets>
         <fileSet>
-            <directory>target/apidocs</directory>
-            <outputDirectory>${dist.dir}/docs/apidocs</outputDirectory>
-        </fileSet>
-        <fileSet>
-            <directory>../documentation/target/site</directory>
-            <outputDirectory>${dist.dir}/docs</outputDirectory>
-        </fileSet>
-        <fileSet>
             <directory>../rampart-samples</directory>
-            <outputDirectory>${dist.dir}/samples</outputDirectory>
+            <outputDirectory>samples</outputDirectory>
+            <excludes>
+                <exclude>pom.xml</exclude>
+                <exclude>target/**</exclude>
+            </excludes>
         </fileSet>
         <fileSet>
             <directory>../../legal</directory>
-            <outputDirectory>${dist.dir}/lib</outputDirectory>
+            <outputDirectory>lib</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>src/main/files</directory>
+            <outputDirectory>.</outputDirectory>
         </fileSet>
     </fileSets>
 
     <files>
         <file>
-            <source>../../release-docs/README.txt</source>
-            <outputDirectory>${dist.dir}</outputDirectory>
-            <destName>README</destName>
+            <source>../../README</source>
             <filtered>true</filtered>
         </file>
         <file>
-            <source>../../release-docs/LICENSE.txt</source>
-            <outputDirectory>${dist.dir}</outputDirectory>
-            <destName>LICENSE</destName>
+            <source>../../LICENSE</source>
         </file>
         <file>
-            <source>../../release-docs/NOTICE.txt</source>
-            <outputDirectory>${dist.dir}</outputDirectory>
-            <destName>NOTICE</destName>
+            <source>../../NOTICE</source>
         </file>
         <file>
-            <source>../../release-docs/release-notes.html</source>
-            <outputDirectory>${dist.dir}</outputDirectory>
+            <source>../../src/site/markdown/release-notes/${release_version}.md</source>
+            <destName>RELEASE-NOTE</destName>
         </file>
     </files>
 
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index c4120ab..5cad000 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -36,42 +36,8 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.1</version>
-                <executions>
-                    <execution>
-                        <id>build-javadoc</id>
-                        <phase>package</phase>
-                        <configuration>
-                            <tasks>
-                                <javadoc packagenames="org.apache.rampart.*,org.apache.rahas.*" destdir="target/apidocs" author="true" breakiterator="true" version="true" use="true" windowtitle="Apache Rampart API">
-
-                                    <sourcepath>
-                                        <dirset dir="../..">
-                                            <include name="**/rampart-core/src/main/java" />
-                                            <include name="**/rampart-policy/src/main/java" />
-                                            <include name="**/rampart-trust/src/main/java" />
-                                        </dirset>
-                                    </sourcepath>
-
-                                    <classpath refid="maven.dependency.classpath" />
-                                    <classpath refid="maven.compile.classpath" />
-                                    <classpath refid="maven.runtime.classpath" />
-
-                                </javadoc>
-                            </tasks>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.gmaven</groupId>
-                <artifactId>gmaven-plugin</artifactId>
-                <version>1.2</version>
+                <groupId>org.codehaus.gmavenplus</groupId>
+                <artifactId>gmavenplus-plugin</artifactId>
                 <executions>
                     <execution>
                         <id>generate-timestamp</id>
@@ -80,11 +46,14 @@
                             <goal>execute</goal>
                         </goals>
                         <configuration>
-                            <source>
-                                import java.util.Date 
-                                import java.text.MessageFormat 
-                                project.properties['buildTimestamp'] = MessageFormat.format("{0,date,MMM dd, yyyy}", new Date())
-                            </source>
+                            <scripts>
+                                <script>
+                                    import java.util.Date 
+                                    import java.text.MessageFormat 
+                                    project.properties['buildTimestamp'] = MessageFormat.format("{0,date,MMM dd, yyyy}", new Date())
+                                    project.properties['release_version'] = project.version.replaceAll("-SNAPSHOT", "")
+                                </script>
+                            </scripts>
                         </configuration>
                     </execution>
                 </executions>
@@ -108,6 +77,24 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>net.ju-n.maven.plugins</groupId>
+                <artifactId>checksum-maven-plugin</artifactId>
+                <version>1.2</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>artifacts</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
@@ -140,14 +127,20 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>bouncycastle</groupId>
-            <artifactId>bcprov-jdk15</artifactId>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
             <version>${bcprov.jdk15.version}</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-jcl</artifactId>
         </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>apidocs</artifactId>
+            <version>${project.version}</version>
+            <type>zip</type>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/modules/distribution/src.xml b/modules/distribution/src.xml
index 9c3575c..215f6a5 100644
--- a/modules/distribution/src.xml
+++ b/modules/distribution/src.xml
@@ -1,6 +1,6 @@
 <assembly>
     <id>src</id>
-    <includeBaseDirectory>false</includeBaseDirectory>
+    <baseDirectory>rampart-src-${project.version}</baseDirectory>
     <formats>
         <format>zip</format>
     </formats>
@@ -8,36 +8,56 @@
     <fileSets>
         <fileSet>
             <directory>../..</directory>
-            <outputDirectory>rampart-src-${project.version}</outputDirectory>
-            <includes>
-                <include>**/modules/**/*</include>
-                <include>**/pom.xml</include>
-                <include>src</include>
-                <include>release-docs/*</include>
-            </includes>
+            <useDefaultExcludes>true</useDefaultExcludes>
             <excludes>
-                <exclude>**/target</exclude>
-                <exclude>**/target/**/*</exclude>
-                <exclude>**/build</exclude>
-                <exclude>**/build/**/*</exclude>
-                <exclude>**/.settings</exclude>
-                <exclude>**/.classpath</exclude>
-                <exclude>**/.project</exclude>
-                <exclude>**/.wtpmodules</exclude>
-                <exclude>**/*.iml</exclude>
-                <exclude>**/.settings</exclude>
-                <exclude>**/.settings/**/*</exclude>
-                <exclude>**/.svn/**</exclude>
-                <exclude>release-docs/README.txt</exclude>
+                <!-- build output -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]</exclude>
+                
+                <!-- NOTE: Most of the following excludes should not be required 
+                     if the standard release process is followed. This is because the 
+                     release plugin checks out project sources into a location like
+                     target/checkout, then runs the build from there. The result is
+                     a source-release archive that comes from a pretty clean directory
+                     structure.
+                     
+                     HOWEVER, if the release plugin is configured to run extra goals
+                     or generate a project website, it's definitely possible that some
+                     of these files will be present. So, it's safer to exclude them.
+                -->
+                     
+                <!-- IDEs -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]</exclude>
+                
+                <!-- misc -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]</exclude>
+                
+                <!-- release-plugin temp files -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]</exclude>
+                
+                <exclude>README</exclude>
             </excludes>
         </fileSet>
-        <fileSet>
-            <directory>../..</directory>
-            <outputDirectory>rampart-src-${project.version}</outputDirectory>
-            <filtered>true</filtered>
-            <includes>
-                <include>release-docs/README.txt</include>
-            </includes>
-        </fileSet>
     </fileSets>
+    <files>
+        <file>
+            <source>../../README</source>
+            <filtered>true</filtered>
+        </file>
+        <file>
+            <source>../../src/site/markdown/release-notes/${release_version}.md</source>
+            <destName>RELEASE-NOTE</destName>
+        </file>
+    </files>
 </assembly>
diff --git a/release-docs/build.xml b/modules/distribution/src/main/files/build.xml
similarity index 96%
rename from release-docs/build.xml
rename to modules/distribution/src/main/files/build.xml
index 7a2dbd5..4740d70 100644
--- a/release-docs/build.xml
+++ b/modules/distribution/src/main/files/build.xml
@@ -19,7 +19,7 @@
 <project basedir="." default="setup">
 
 	<property name="lib.dir" value="lib"/>
-	<property name="modules.dir" value="."/>
+	<property name="modules.dir" value="modules"/>
 	
 	<property environment="env"/>
     	
diff --git a/modules/documentation/pom.xml b/modules/documentation/pom.xml
deleted file mode 100644
index dba341c..0000000
--- a/modules/documentation/pom.xml
+++ /dev/null
@@ -1,52 +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">
-
-    <parent>
-        <groupId>org.apache.rampart</groupId>
-        <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>rampart-documentation</artifactId>
-    <packaging>pom</packaging>
-    <name>Rampart - Documentation</name>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <inherited>false</inherited>
-                <executions>
-                    <execution>
-                        <phase>install</phase>
-                        <goals>
-                            <goal>site</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/modules/documentation/src/site/resources/css/maven-base.css b/modules/documentation/src/site/resources/css/maven-base.css
deleted file mode 100755
index b47862a..0000000
--- a/modules/documentation/src/site/resources/css/maven-base.css
+++ /dev/null
@@ -1,143 +0,0 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/css/maven-theme.css b/modules/documentation/src/site/resources/css/maven-theme.css
deleted file mode 100755
index 67bb41b..0000000
--- a/modules/documentation/src/site/resources/css/maven-theme.css
+++ /dev/null
@@ -1,129 +0,0 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
diff --git a/modules/documentation/src/site/resources/css/print.css b/modules/documentation/src/site/resources/css/print.css
deleted file mode 100755
index 49aae7e..0000000
--- a/modules/documentation/src/site/resources/css/print.css
+++ /dev/null
@@ -1,7 +0,0 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/css/site.css b/modules/documentation/src/site/resources/css/site.css
deleted file mode 100755
index 5182c6e..0000000
--- a/modules/documentation/src/site/resources/css/site.css
+++ /dev/null
@@ -1,272 +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.
- */
-.img-title {
-    text-align: center
-}
-
-.img {
-    text-align: center
-}
-
-.special-td {
-    font-family: Arial;
-    font-size: 10pt;
-    font-weight: bold
-}
-
-.special {
-    font-family: Arial;
-    font-weight: bold;
-    border-style: solid;
-    border-width: 1;
-    padding-left: 4;
-    padding-right: 4;
-    padding-top: 1;
-    padding-bottom: 1;
-    background-color: #C0C0C0;
-    font-size: 10pt
-}
-
-.xml {
-    font-family: Arial;
-    font-size: 10pt;
-    color: #0000FF;
-    font-style: italic
-}
-
-/*
-.code {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #800000
-}
-*/
-
-/*
------------------------------------------------------------------------
-Generic element styles
------------------------------------------------------------------------ */
-body {
-    color: #111;
-    font-family: "Trebuchet MS", Verdana, sans-serif;
-    font-size: 1em;
-    padding: 5;
-    padding-bottom:0px;
-    border-width: 0;
-    outline-width: 0;
-    list-style-position: outside;
-    display: block;
-
-    margin: 0 auto; /* center, not in IE5 */
-    height: auto !important; /* real browsers */
-    height: 100%; /* IE6: treaded as min-height*/
-
-    min-height: 100%; /* real browsers */
-    width: 980px;
-    background-image: url(../images/home-top.gif);
-    background-position: left top;
-    background-repeat: repeat-x;
-}
-
-#breadcrumbs {
-    background-image: url(../images/menu-back.gif);
-    background-position: left top;
-    background-repeat: repeat-x;
-    border-bottom: solid 1px #d4d4d4;
-    height: 28px;
-    font-size: 0.8em;
-    background-color: transparent;
-    border: 1px solid #6895c2;
-}
-
-#banner{
-    margin-top:10px;
-    padding-top:10px;
-    padding-bottom:10px;
-}
-#bannerLeft{
-    background-image: url(../images/apache-rampart-logo.jpg);
-    background-position: left top;
-    background-repeat: no-repeat;	
-    text-indent:-1700px;/*We do this to hide the text. This needs to be updated to a beter solution.*/
-    width:204px;
-    height:56px;
-    display:block;
-    float:left;
-}
-#bannerRight{
-    display:block;
-    float:right;
-    height:51px;
-    width:537px;
-}
-.xright, #bannerRight {
-    text-shadow: none;
-}
-
-#leftColumn {
-    border: none;
-    background-color: transparent;
-    margin: 1em 0 0 0;
-}
-
-#navcolumn {
-    padding: 0;
-}
-
-#navcolumn h5 {
-    background-color: #e8f4ff;
-    border-left: solid 1px #ff2700;
-    border-bottom: none;
-    font-size: 0.9em;
-    padding: 5px;
-    color: #333333;
-    font-weight: normal;
-}
-
-#navcolumn li {
-    font-size: 0.9em;
-    margin-top: 0.5em;
-    margin-bottom: 0.5em;
-}
-
-#bodyColumn {
-    margin-left: 190px;
-    margin-right: 0;
-}
-
-#contentBox {
-    color: #333333;
-}
-
-#contentBox p, #contentBox td, #contentBox li {
-    font-family: "Trebuchet MS", Verdana, sans-serif;
-	line-height: 1.5em;
-    font-size: 0.94em;
-}
-
-#contentBox p, #contentBox li {
-    text-align: justify;
-}
-
-a:link {
-    color: #039;
-}
-
-a:hover {
-    color: #03c;
-    text-decoration: none;
-}
-
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-    background: none;
-    padding: 0;
-}
-
-table.bodyTable th {
-    background-color: #6f8aa5;
-}
-
-table.bodyTable tr.a {
-    background-color: #d1dce7;
-}
-
-table.bodyTable tr.b {
-    background-color: #eceef1;
-}
-
-h1 {
-    color: #4f4f4f;
-    font-size: 2.5em;
-    font-weight: normal;
-}
-
-h2 {
-    color: #646b71;
-    font-size: 1.7em;
-    background-color: transparent;
-    border: none;
-    padding: 0;
-    font-weight: normal;
-}
-
-h3 {
-    color: #7d858d;
-	font-weight: bold;
-    font-size: 1.2em;
-    background-color: transparent;
-    border: none;
-    padding: 0;
-}
-
-h4 {
-    color: #333333;
-    font-size: 1em;
-    font-weight: bold;
-    background-color: transparent;
-    border: none;
-    padding: 0;
-}
-
-th {
-    background-color: #f5f5f5;
-    height: 20;
-    paddong: 0px;
-    spacing: 0px;
-}
-
-table {
-    margin: 0;
-    padding: 0;
-    border: solid 0 #dcdcdc;
-}
-
-.header {
-    height: 80px;
-    background-image: url( ../images/doc_header.jpg );
-    background-repeat: no-repeat;
-    background-attachment: scroll;
-    background-position: left top;
-}
-
-pre, div.source {
-    border: 1px dotted;
-    background-color: #e2ecf6;
-    padding: 0.8em;
-    margin: 0;
-    overflow: auto;
-    font-size: 0.9em;
-}
-
-/* Xdoc generates <div class="source"><pre>...</pre></div> for <source> elements.
-   Because we already apply styles to every <pre>, we need to suppress styles here. */
-div.source pre {
-    border: none;
-    background-color: transparent;
-    padding: none;
-}
-#footer{
-    background-color:#E9E9E9;
-    color:#828282;
-    left:0;
-    padding-top:10px;
-    text-indent:10px;
-    width:100%;
-    height:100px;
-}
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/css/style.css b/modules/documentation/src/site/resources/css/style.css
deleted file mode 100755
index 7893e2f..0000000
--- a/modules/documentation/src/site/resources/css/style.css
+++ /dev/null
@@ -1,184 +0,0 @@
-/* page general styles */
-body{
-padding:0px;
-margin:0px;
-}
-a{
-color:#557f95;
-text-decoration:none;
-}
-a:hover{
-color:#000000;
-text-decoration:underline;
-}
-body, td, tr, input,h1,h2{
-font: 12px Verdana, Arial, Helvetica, sans-serif;
-line-height:18px;
-}
-h1{
-padding:0px;
-margin:0px;
-font-size:14px;
-font-weight:bold;
-height:22px;
-background-color:#bcbcbc;
-text-indent:10px;
-}
-h2{
-padding:0px;
-margin:0px;
-font-weight:bold;
-}
-h3{
-font-weight:bold;
-color:#777777;
-}
-p{
-padding-top:5px;
-padding-bottom:5px;
-line-height:18px;
-}
-/* page styles */
-.page-padding{
-padding-left:10px;
-padding-right:10px;
-}
-.page-external{
-/* Uncomment these lines to give a fixed width with centered positioning ....
-position:absolute;
-left:50%;
-width:980px;
-margin-left:-490px;
-border:solid 1px #83b0c0;
-*/
-}
-
-/* header styles */
-.header{
-background-image:url(../images/apache-rampart-banner-background.jpg);
-background-repeat:repeat-x;
-background-position:0px 0px;
-height:98px;
-}
-.header-logo{
-background-image:url(../images/apache-rampart-logo.jpg);
-background-repeat:no-repeat;
-background-position:0px 0px;
-height:103px;
-text-align:right;
-padding-right:10px;
-}
-.top-menu{
-background-image:url(../images/apache-rampart-banner.jpg);
-background-repeat:no-repeat;
-background-position:right 0px;
-padding-top:65px;
-}
-.top-menu a{
-color:#000000;
-text-decoration:none;
-}
-.top-menu a:hover{
-text-decoration:underline;
-}
-.top-menu-gap{
-padding-left:30px;
-}
-.last-update-text{
-color:#929292;
-}
-
-/* content text */
-.content{
-
-}
-.menu{
-width:179px;
-padding-left:10px;
-}
-.menu-top{
-text-indent:15px;
-height:23px;
-color:#ffffff;
-background-image:url(../images/apache-rampart-menu-top.jpg);
-background-repeat:no-repeat;
-background-position:left 0px;
-}
-.menu-middle{
-background-image:url(../images/apache-rampart-menu.jpg);
-background-repeat:no-repeat;
-background-position:0px 0px;
-background-color:#e5e5e5;
-border-left:solid 1px #b4b4b4;
-padding-top:5px;
-font-size:11px;
-}
-.menu-middle ul{
-padding:0px;
-margin:0px;
-list-style:none;
-padding-left:10px;
-}
-.menu-middle ul ul{
-padding-left:15px;
-}
-.menu-middle li{
-margin-top:3px;
-}
-.menu-selected{
-font-weight:bold;
-}
-.navHeadings{
-background-image:url(../images/apache-rampart-menu-button.gif);
-background-repeat:no-repeat;
-background-position:0px 5px;
-text-indent:15px;
-font-size:12px;
-color:#224351;
-}
-.navHeadings-link{
-display:block;
-}
-.menu-bottom-left{
-background-image:url(../images/apache-rampart-menu-bottom.jpg);
-background-repeat:no-repeat;
-background-position:0px 0px;
-background-color:#e5e5e5;
-width:15px;
-height:13px;
-float:left;
-}
-.menu-bottom-right{
-background-color:#e5e5e5;
-border-bottom:solid 1px #b4b4b4;
-height:13px;
-float:right;
-width:164px;
-}
-.content-back1{
-background-image:url(../images/apache-rampart-spliter.jpg);
-background-repeat:no-repeat;
-background-position:0px 0px;
-}
-.content-back2{
-background-image:url(../images/apache-rampart-content-back.jpg);
-background-repeat:repeat-y;
-background-position:0px 0px;
-background-color:#f3f3f3;
-border-bottom:solid 1px #b4b4b4;
-border-right:solid 1px #b4b4b4;
-margin-right:10px;
-}
-.content-display{
-margin-left:32px;
-padding-bottom:10px;
-}
-.poweredBy{
-margin-left:30px;
-margin-top:5px;
-}
-.footer{
-color:#929292;
-margin-top:10px;
-margin-left:10px;
-}
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.1/download.cgi b/modules/documentation/src/site/resources/download/1.1/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.1/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.2/download.cgi b/modules/documentation/src/site/resources/download/1.2/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.2/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.3/download.cgi b/modules/documentation/src/site/resources/download/1.3/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.3/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.4/download.cgi b/modules/documentation/src/site/resources/download/1.4/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.4/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.5.1/download.cgi b/modules/documentation/src/site/resources/download/1.5.1/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.5.1/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.5.2/download.cgi b/modules/documentation/src/site/resources/download/1.5.2/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.5.2/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.5/download.cgi b/modules/documentation/src/site/resources/download/1.5/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.5/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.6.0/download.cgi b/modules/documentation/src/site/resources/download/1.6.0/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.6.0/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/download/1.6.1/download.cgi b/modules/documentation/src/site/resources/download/1.6.1/download.cgi
deleted file mode 100644
index 8bdb438..0000000
--- a/modules/documentation/src/site/resources/download/1.6.1/download.cgi
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Wrapper script around mirrors.cgi script
-# (we must change to that directory in order for python to pick up the
-#  python includes correctly)
-cd /www/www.apache.org/dyn/mirrors
-/www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-banner-background.jpg b/modules/documentation/src/site/resources/images/apache-rampart-banner-background.jpg
deleted file mode 100755
index 29b5350..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-banner-background.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-banner.jpg b/modules/documentation/src/site/resources/images/apache-rampart-banner.jpg
deleted file mode 100644
index abcd2d1..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-banner.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-content-back.jpg b/modules/documentation/src/site/resources/images/apache-rampart-content-back.jpg
deleted file mode 100755
index 58f9b88..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-content-back.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-menu-bottom.jpg b/modules/documentation/src/site/resources/images/apache-rampart-menu-bottom.jpg
deleted file mode 100755
index 96c85e5..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-menu-bottom.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-menu-button.gif b/modules/documentation/src/site/resources/images/apache-rampart-menu-button.gif
deleted file mode 100755
index 319460c..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-menu-button.gif
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-menu-top.jpg b/modules/documentation/src/site/resources/images/apache-rampart-menu-top.jpg
deleted file mode 100755
index 12c593e..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-menu-top.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-menu.jpg b/modules/documentation/src/site/resources/images/apache-rampart-menu.jpg
deleted file mode 100755
index fad5611..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-menu.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-spliter.jpg b/modules/documentation/src/site/resources/images/apache-rampart-spliter.jpg
deleted file mode 100755
index 926622d..0000000
--- a/modules/documentation/src/site/resources/images/apache-rampart-spliter.jpg
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/breadcrumbs-bg.gif b/modules/documentation/src/site/resources/images/breadcrumbs-bg.gif
deleted file mode 100644
index 2d10304..0000000
--- a/modules/documentation/src/site/resources/images/breadcrumbs-bg.gif
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/external.png b/modules/documentation/src/site/resources/images/external.png
deleted file mode 100755
index 3f999fc..0000000
--- a/modules/documentation/src/site/resources/images/external.png
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/h2-bg.gif b/modules/documentation/src/site/resources/images/h2-bg.gif
deleted file mode 100644
index 0ddb32e..0000000
--- a/modules/documentation/src/site/resources/images/h2-bg.gif
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/home-top.gif b/modules/documentation/src/site/resources/images/home-top.gif
deleted file mode 100644
index 4103c66..0000000
--- a/modules/documentation/src/site/resources/images/home-top.gif
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/leftcolumn-bg.gif b/modules/documentation/src/site/resources/images/leftcolumn-bg.gif
deleted file mode 100644
index a2faa21..0000000
--- a/modules/documentation/src/site/resources/images/leftcolumn-bg.gif
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/logos/build-by-maven-black.png b/modules/documentation/src/site/resources/images/logos/build-by-maven-black.png
deleted file mode 100755
index 919fd0f..0000000
--- a/modules/documentation/src/site/resources/images/logos/build-by-maven-black.png
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/logos/build-by-maven-white.png b/modules/documentation/src/site/resources/images/logos/build-by-maven-white.png
deleted file mode 100755
index 7d44c9c..0000000
--- a/modules/documentation/src/site/resources/images/logos/build-by-maven-white.png
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/logos/maven-feather.png b/modules/documentation/src/site/resources/images/logos/maven-feather.png
deleted file mode 100755
index b5ada83..0000000
--- a/modules/documentation/src/site/resources/images/logos/maven-feather.png
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/menu-back.gif b/modules/documentation/src/site/resources/images/menu-back.gif
deleted file mode 100644
index 0bcccda..0000000
--- a/modules/documentation/src/site/resources/images/menu-back.gif
+++ /dev/null
Binary files differ
diff --git a/modules/documentation/src/site/site.xml b/modules/documentation/src/site/site.xml
deleted file mode 100644
index dce5c7d..0000000
--- a/modules/documentation/src/site/site.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-  ~  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 name="Apache Rampart">
-
-	<bannerLeft>
-		<name>Apache Rampart</name>
-		<href>images/apache-rampart-logo.jpg</href>
-	</bannerLeft>
-	    
-    <bannerRight>
-        <src>images/apache-rampart-banner.jpg</src>
-        <href>http://www.apache.org</href>
-    </bannerRight>
-
-	<skin>
-		<groupId>org.apache.maven.skins</groupId>
-		<artifactId>maven-default-skin</artifactId>
-		<version>1.0</version>
-	</skin>
-
-	<publishDate format="dd MMM yyyy"/>
-
-	<body>
-		<links>
-			<item name="Apache Axis2/Java" href="http://axis.apache.org/axis2/java/core/" />
-		</links>
-		
-		<menu name="Apache Rampart">
-			<item name="Home" href="index.html" />
-			<item name="Downloads">
-			        <item name="Releases" href="download.html"/>
-			        <item name="Source Code" href="svn.html"/>
-			</item>
-		</menu>
-		<menu name="Documentation">
-		        <item name="Getting Started" href="quick-start.html"/>
-		        <item name="Samples" href="samples.html"/>
-		        <item name="FAQ" href="http://wiki.apache.org/ws/FrontPage/Rampart/FAQ"/>     
-		        <item name="Rampart Configuration" href="rampartconfig-guide.html"/>
-		        <item name="STS Configuration" href="setting-up-sts.html"/>
-		        <item name="Developer Guide" href="developer-guide.html"/>
-		        <item name="Build the Site" href="siteHowTo.html" /> 
-		</menu>
-		<menu name="Resources">
-		  <item name="Articles" href="articles.html" />
-		  <item name="Specifications" href="specifications.html"/>
-		  <item name="Online Javadocs" href="apidocs/index.html"/>
-		</menu>
-		<menu name="Project Information">
-		    <item name="Project Team" href="team-list.html" />
-		    <item name="Issue Tracking" href="http://issues.apache.org/jira/browse/Rampart" />
-		    <item name="Mailing Lists" href="mail-lists.html"/>
-		    <item name="Source Code"
-		       href="http://svn.apache.org/viewvc/axis/axis2/java/rampart/" />
-		    <item name="Dependencies" href="dependencies.html"/>
-		    <item name="License"
-		        href="http://www.apache.org/licenses/LICENSE-2.0.html" />
-		</menu>
-
-	</body>
-</project>
diff --git a/modules/documentation/src/site/xdoc/download.xml b/modules/documentation/src/site/xdoc/download.xml
deleted file mode 100644
index 556ed3c..0000000
--- a/modules/documentation/src/site/xdoc/download.xml
+++ /dev/null
@@ -1,135 +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.
-  -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-    <body>
-        <h1>Download Apache Rampart Module</h1>
-        <h2>Apache Rampart Releases</h2>
-        <p>This page provides links to the release versions of Apache Rampart Java.</p>
-        <table border="1" style="border-collapse: collapse" width="93%" id="table1">
-            <tbody>
-                <tr>
-                    <th>Version</th>
-                    <th>Date</th>
-                    <th>Description</th>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.6.2/download.cgi">
-                            <strong>1.6.2</strong>
-                        </a>
-                    </td>
-                    <td>26 Apr 2012</td>
-                    <td>1.6.2 Release (Mirrored)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.6.1/download.cgi">
-                            <strong>1.6.1</strong>
-                        </a>
-                    </td>
-                    <td>24 Sep 2011</td>
-                    <td>1.6.1 Release (Mirrored)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.5.2/download.cgi">
-                            <strong>1.5.2</strong>
-                        </a>
-                    </td>
-                    <td>24 Sep 2011</td>
-                    <td>1.5.2 Release (Mirrored)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.6.0/download.cgi">
-                            <strong>1.6.0</strong>
-                        </a>
-                    </td>
-                    <td>06 Jun 2011</td>
-                    <td>1.6.0 Release (Archived)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.5.1/download.cgi">
-                            <strong>1.5.1</strong>
-                        </a>
-                    </td>
-                    <td>10 Jan 2011</td>
-                    <td>1.5.1 Release (Archived)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.5/download.cgi">
-                            <strong>1.5</strong>
-                        </a>
-                    </td>
-                    <td>01 Feb 2010</td>
-                    <td>1.5 Release (Archived)</td>
-                </tr>       
-                <tr>
-                    <td>
-                        <a href="download/1.4/download.cgi">
-                            <strong>1.4</strong>
-                        </a>
-                    </td>
-                    <td>12 Jun 2008</td>
-                    <td>1.4 Release (Archived)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.3/download.cgi">
-                            <strong>1.3</strong>
-                        </a>
-                    </td>
-                    <td>06 Sep 2007</td>
-                    <td>1.3 Release (Archived)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.2/download.cgi">
-                            <strong>1.2</strong>
-                        </a>
-                    </td>
-                    <td>02 Jun 2007</td>
-                    <td>1.2 Release (Archived)</td>
-                </tr>
-                <tr>
-                    <td>
-                        <a href="download/1.1/download.cgi">
-                            <strong>1.1</strong>
-                        </a>
-                    </td>
-                    <td>11 Dec 2006</td>
-                    <td>1.1 Release (Archived)</td>
-                </tr>
-            </tbody>
-        </table>
-        <p>
-            <strong>Apache Rampart Distributions : <a href="https://hudson.apache.org/hudson/job/Rampart/lastStableBuild/org.apache.rampart$rampart-dist/">Nightly builds</a>
-            </strong>
-        </p>
-        <p>
-            <strong>Maven Repository: <a href="http://people.apache.org/repo/m2-ibiblio-rsync-repository/">Released Apache Rampart jars</a> | <a href="http://repository.apache.org/snapshots/">Nightly SNAPSHOT</a>
-                <a href=""></a>
-            </strong>
-        </p>
-    </body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.1/download.xml b/modules/documentation/src/site/xdoc/download/1.1/download.xml
deleted file mode 100644
index b8ce317..0000000
--- a/modules/documentation/src/site/xdoc/download/1.1/download.xml
+++ /dev/null
@@ -1,97 +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.

--->

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-<html xmlns="http://www.w3.org/1999/xhtml">

-<head>

-<meta name="generator" content=

-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />

-<meta http-equiv="content-type" content="" />

-<title>Apache Rampart 1.1 Release</title>

-</head>

-<body>

-<!--Google Anayitcs tracking code-->

-<script type="text/javascript" src=

-"http://www.google-analytics.com/urchin.js">

-</script><script type="text/javascript">

-//<![CDATA[

-_uacct = "UA-1954378-3";

-urchinTracker();

-//]]>

-</script>

-<!--End of Google Anayitcs tracking code-->

-<h2>Apache Rampart 1.1 Release</h2>

-<div>

-<table border="1" cellpadding="1">

-<tbody>

-<tr>

-<th scope="col">Distribution Name</th>

-<th scope="col">Description</th>

-<!--<th scope="col">Items</th>-->

-<th scope="col">Download</th>

-</tr>

-<tr>

-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary

-Distribution</strong></td>

-<td>This is the complete version of Apache Rampart and will contain samples

-as well.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.1.zip');">zip</a>

-<a href="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1.zip.md5"

-title="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1.zip.md5">MD5</a>

-<a href="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1.zip.asc"

-title="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1.zip.asc">PGP</a></td>

-</tr>

-<tr>

-<td><a name="src" id="src"></a> <strong>Source

-Distribution</strong></td>

-<td>This will contain the sources of Apache Rampart distribution.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-src.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-src.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.1-src.zip');">zip</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-src.zip.md5"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-src.zip.md5">MD5</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-src.zip.asc"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-src.zip.asc">PGP</a></td>

-</tr>

-<tr>

-<td><strong>Documents Distribution</strong></td>

-<td>This will contain all the documentation in one package.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-docs.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-docs.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.1-docs.zip');">zip</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-docs.zip.md5"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-docs.zip.md5">MD5</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-docs.zip.asc"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_1/rampart-1.1-docs.zip.asc">PGP</a></td>

-</tr>

-</tbody>

-</table>

-</div>

-</body>

-</html>

diff --git a/modules/documentation/src/site/xdoc/download/1.2/download.xml b/modules/documentation/src/site/xdoc/download/1.2/download.xml
deleted file mode 100644
index 70822ce..0000000
--- a/modules/documentation/src/site/xdoc/download/1.2/download.xml
+++ /dev/null
@@ -1,97 +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.

--->

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-<html xmlns="http://www.w3.org/1999/xhtml">

-<head>

-<meta name="generator" content=

-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />

-<meta http-equiv="content-type" content="" />

-<title>Apache Rampart 1.2 Release</title>

-</head>

-<body>

-<!--Google Anayitcs tracking code-->

-<script type="text/javascript" src=

-"http://www.google-analytics.com/urchin.js">

-</script><script type="text/javascript">

-//<![CDATA[

-_uacct = "UA-1954378-3";

-urchinTracker();

-//]]>

-</script>

-<!--End of Google Anayitcs tracking code-->

-<h2>Apache Rampart 1.2 Release</h2>

-<div>

-<table border="1" cellpadding="1">

-<tbody>

-<tr>

-<th scope="col">Distribution Name</th>

-<th scope="col">Description</th>

-<!--<th scope="col">Items</th>-->

-<th scope="col">Download</th>

-</tr>

-<tr>

-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary

-Distribution</strong></td>

-<td>This is the complete version of Apache Rampart and will contain samples

-as well.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.2.zip');">zip</a>

-<a href="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2.zip.md5"

-title="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2.zip.md5">MD5</a>

-<a href="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2.zip.asc"

-title="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2.zip.asc">PGP</a></td>

-</tr>

-<tr>

-<td><a name="src" id="src"></a> <strong>Source

-Distribution</strong></td>

-<td>This will contain the sources of Apache Rampart distribution.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-src.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-src.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.2-src.zip');">zip</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-src.zip.md5"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-src.zip.md5">MD5</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-src.zip.asc"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-src.zip.asc">PGP</a></td>

-</tr>

-<tr>

-<td><strong>Documents Distribution</strong></td>

-<td>This will contain all the documentation in one package.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-docs.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-docs.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.2-docs.zip');">zip</a>

-<a href=

-"hhttp://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-docs.zip.md5"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-docs.zip.md5">MD5</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-docs.zip.asc"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_2/rampart-1.2-docs.zip.asc">PGP</a></td>

-</tr>

-</tbody>

-</table>

-</div>

-</body>

-</html>

diff --git a/modules/documentation/src/site/xdoc/download/1.3/download.xml b/modules/documentation/src/site/xdoc/download/1.3/download.xml
deleted file mode 100644
index 50dde84..0000000
--- a/modules/documentation/src/site/xdoc/download/1.3/download.xml
+++ /dev/null
@@ -1,97 +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.

--->

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-<html xmlns="http://www.w3.org/1999/xhtml">

-<head>

-<meta name="generator" content=

-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />

-<meta http-equiv="content-type" content="" />

-<title>Apache Rampart 1.3 Release</title>

-</head>

-<body>

-<!--Google Anayitcs tracking code-->

-<script type="text/javascript" src=

-"http://www.google-analytics.com/urchin.js">

-</script><script type="text/javascript">

-//<![CDATA[

-_uacct = "UA-1954378-3";

-urchinTracker();

-//]]>

-</script>

-<!--End of Google Anayitcs tracking code-->

-<h2>Apache Rampart 1.3 Release</h2>

-<div>

-<table border="1" cellpadding="1">

-<tbody>

-<tr>

-<th scope="col">Distribution Name</th>

-<th scope="col">Description</th>

-<!--<th scope="col">Items</th>-->

-<th scope="col">Download</th>

-</tr>

-<tr>

-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary

-Distribution</strong></td>

-<td>This is the complete version of Apache Rampart and will contain samples

-as well.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.3.zip');">zip</a>

-<a href="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3.zip.md5"

-title="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3.zip.md5">MD5</a>

-<a href="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3.zip.asc"

-title="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3.zip.asc">PGP</a></td>

-</tr>

-<tr>

-<td><a name="src" id="src"></a> <strong>Source

-Distribution</strong></td>

-<td>This will contain the sources of Apache Rampart distribution.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-src.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-src.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.3-src.zip');">zip</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-src.zip.md5"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-src.zip.md5">MD5</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-src.zip.asc"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-src.zip.asc">PGP</a></td>

-</tr>

-<tr>

-<td><strong>Documents Distribution</strong></td>

-<td>This will contain all the documentation in one package.</td>

-<td><a href="http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-docs.zip" title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-docs.zip" onClick=

-"javascript:urchinTracker ('/downloads/rampart-1.3-docs.zip');">zip</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-docs.zip.md5"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-docs.zip.md5">MD5</a>

-<a href=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-docs.zip.asc"

-title=

-"http://archive.apache.org/dist/ws/rampart/1_3/rampart-1.3-docs.zip.asc">PGP</a></td>

-</tr>

-</tbody>

-</table>

-</div>

-</body>

-</html>

diff --git a/modules/documentation/src/site/xdoc/download/1.4/download.xml b/modules/documentation/src/site/xdoc/download/1.4/download.xml
deleted file mode 100644
index ca564c0..0000000
--- a/modules/documentation/src/site/xdoc/download/1.4/download.xml
+++ /dev/null
@@ -1,82 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.4 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.4 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-bin.zip" title=
-"http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-1.4.zip');">zip</a>
-<a href="http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-bin.zip.md5"
-title="http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-bin.zip.md5">MD5</a>
-<a href="http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-bin.zip.asc"
-title="http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-src.zip" title=
-"http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.4-src.zip');">zip</a>
-<a href=
-"http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-src.zip.md5"
-title=
-"http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-src.zip.md5">MD5</a>
-<a href=
-"http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-src.zip.asc"
-title=
-"http://archive.apache.org/dist/ws/rampart/1_4/rampart-dist-1.4-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.5.1/download.xml b/modules/documentation/src/site/xdoc/download/1.5.1/download.xml
deleted file mode 100644
index a55e387..0000000
--- a/modules/documentation/src/site/xdoc/download/1.5.1/download.xml
+++ /dev/null
@@ -1,115 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.5.1 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.5.1 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-bin.zip" title=
-		"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.5.1-bin.zip');">zip</a>
-<a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-bin.zip.md5"
-	title="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-bin.zip.md5">MD5</a>
-<a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-bin.zip.asc"
-	title="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-src.zip" title=
-		"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.5.1-src.zip');">zip</a>
-<a href=
-	"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-src.zip.md5"
-title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-src.zip.md5">MD5</a>
-<a href=
-	"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-src.zip.asc"
-title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5.1/rampart-dist-1.5.1-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div align="left"><br />
-<p>[if-any logo] <a href="[link]"><img align="right" src="[logo]"
-border="0" /></a>[end] The currently selected mirror is
-<b>[preferred]</b>. If you encounter a problem with this mirror,
-please select another mirror. If all mirrors are failing, there are
-<i>backup</i> mirrors (at the end of the mirrors list) that should
-be available.</p>
-<form action="[location]" method="get" id="SelectMirror" name="SelectMirror">
-Other mirrors: <select name="Preferred">
-[if-any http]
-  [for http]<option value="[http]">[http]</option>[end]
-[end]  
-[if-any ftp]
-  [for ftp]<option value="[ftp]">[ftp]</option>[end]
-[end]
-[if-any backup]
-  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
-[end]
-</select><input type="submit" value="Change"/></form><p>You may also consult the <a class="externalLink" href="http://www.apache.org/mirrors/">complete list of mirrors</a>
-.</p>
-<p><strong>Note:</strong> when downloading from a mirror please
-check the <a href=
-"http://www.apache.org/dev/release-signing#md5">md5sum</a> and
-verify the <a href=
-"http://www.apache.org/dev/release-signing#openpgp">OpenPGP</a>
-compatible signature from the main Apache site. These can be
-downloaded by following the links above. This <a href=
-"http://www.apache.org/dist/axis/axis2/java/rampart/KEYS">KEYS</a> file contains
-the public keys that can be used for verifying signatures. It is
-recommended that (when possible)a <a href=
-"http://www.apache.org/dev/release-signing#web-of-trust">Web of
-trust</a> is used to confirm the identity of these keys.</p>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.5.2/download.xml b/modules/documentation/src/site/xdoc/download/1.5.2/download.xml
deleted file mode 100644
index 0ef5c7d..0000000
--- a/modules/documentation/src/site/xdoc/download/1.5.2/download.xml
+++ /dev/null
@@ -1,115 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.5.2 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.5.2 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="[preferred]/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-bin.zip" title=
-		"[preferred]/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.5.2-bin.zip');">zip</a>
-<a href="http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-bin.zip.md5"
-	title="http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-bin.zip.md5">MD5</a>
-<a href="http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-bin.zip.asc"
-	title="http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="[preferred]/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-src.zip" title=
-		"[preferred]/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.5.2-src.zip');">zip</a>
-<a href=
-	"http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-src.zip.md5"
-title=
-"http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-src.zip.md5">MD5</a>
-<a href=
-	"http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-src.zip.asc"
-title=
-"http://www.apache.org/dist/axis/axis2/java/rampart/1.5.2/rampart-dist-1.5.2-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div align="left"><br />
-<p>[if-any logo] <a href="[link]"><img align="right" src="[logo]"
-border="0" /></a>[end] The currently selected mirror is
-<b>[preferred]</b>. If you encounter a problem with this mirror,
-please select another mirror. If all mirrors are failing, there are
-<i>backup</i> mirrors (at the end of the mirrors list) that should
-be available.</p>
-<form action="[location]" method="get" id="SelectMirror" name="SelectMirror">
-Other mirrors: <select name="Preferred">
-[if-any http]
-  [for http]<option value="[http]">[http]</option>[end]
-[end]  
-[if-any ftp]
-  [for ftp]<option value="[ftp]">[ftp]</option>[end]
-[end]
-[if-any backup]
-  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
-[end]
-</select><input type="submit" value="Change"/></form><p>You may also consult the <a class="externalLink" href="http://www.apache.org/mirrors/">complete list of mirrors</a>
-.</p>
-<p><strong>Note:</strong> when downloading from a mirror please
-check the <a href=
-"http://www.apache.org/dev/release-signing#md5">md5sum</a> and
-verify the <a href=
-"http://www.apache.org/dev/release-signing#openpgp">OpenPGP</a>
-compatible signature from the main Apache site. These can be
-downloaded by following the links above. This <a href=
-"http://www.apache.org/dist/axis/axis2/java/rampart/KEYS">KEYS</a> file contains
-the public keys that can be used for verifying signatures. It is
-recommended that (when possible)a <a href=
-"http://www.apache.org/dev/release-signing#web-of-trust">Web of
-trust</a> is used to confirm the identity of these keys.</p>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.5/download.xml b/modules/documentation/src/site/xdoc/download/1.5/download.xml
deleted file mode 100644
index 89f6c90..0000000
--- a/modules/documentation/src/site/xdoc/download/1.5/download.xml
+++ /dev/null
@@ -1,82 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.5 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.5 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-bin.zip" title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-1.5.zip');">zip</a>
-<a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-bin.zip.md5"
-title="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-bin.zip.md5">MD5</a>
-<a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-bin.zip.asc"
-title="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-src.zip" title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.5-src.zip');">zip</a>
-<a href=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-src.zip.md5"
-title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-src.zip.md5">MD5</a>
-<a href=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-src.zip.asc"
-title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.5/rampart-dist-1.5-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.6.0/download.xml b/modules/documentation/src/site/xdoc/download/1.6.0/download.xml
deleted file mode 100644
index 1a15f8b..0000000
--- a/modules/documentation/src/site/xdoc/download/1.6.0/download.xml
+++ /dev/null
@@ -1,115 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.6.0 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.6.0 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-bin.zip" title=
-		"http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.6.0-bin.zip');">zip</a>
-<a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-bin.zip.md5"
-	title="http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-bin.zip.md5">MD5</a>
-<a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-bin.zip.asc"
-	title="http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-src.zip" title=
-		"http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.6.0-src.zip');">zip</a>
-<a href=
-	"http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-src.zip.md5"
-title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-src.zip.md5">MD5</a>
-<a href=
-	"http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-src.zip.asc"
-title=
-"http://archive.apache.org/dist/axis/axis2/java/rampart/1.6.0/rampart-dist-1.6.0-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div align="left"><br />
-<p>[if-any logo] <a href="[link]"><img align="right" src="[logo]"
-border="0" /></a>[end] The currently selected mirror is
-<b>[preferred]</b>. If you encounter a problem with this mirror,
-please select another mirror. If all mirrors are failing, there are
-<i>backup</i> mirrors (at the end of the mirrors list) that should
-be available.</p>
-<form action="[location]" method="get" id="SelectMirror" name="SelectMirror">
-Other mirrors: <select name="Preferred">
-[if-any http]
-  [for http]<option value="[http]">[http]</option>[end]
-[end]  
-[if-any ftp]
-  [for ftp]<option value="[ftp]">[ftp]</option>[end]
-[end]
-[if-any backup]
-  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
-[end]
-</select><input type="submit" value="Change"/></form><p>You may also consult the <a class="externalLink" href="http://www.apache.org/mirrors/">complete list of mirrors</a>
-.</p>
-<p><strong>Note:</strong> when downloading from a mirror please
-check the <a href=
-"http://www.apache.org/dev/release-signing#md5">md5sum</a> and
-verify the <a href=
-"http://www.apache.org/dev/release-signing#openpgp">OpenPGP</a>
-compatible signature from the main Apache site. These can be
-downloaded by following the links above. This <a href=
-"http://www.apache.org/dist/axis/axis2/java/rampart/KEYS">KEYS</a> file contains
-the public keys that can be used for verifying signatures. It is
-recommended that (when possible)a <a href=
-"http://www.apache.org/dev/release-signing#web-of-trust">Web of
-trust</a> is used to confirm the identity of these keys.</p>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.6.1/download.xml b/modules/documentation/src/site/xdoc/download/1.6.1/download.xml
deleted file mode 100644
index 877ebdc..0000000
--- a/modules/documentation/src/site/xdoc/download/1.6.1/download.xml
+++ /dev/null
@@ -1,115 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.6.1 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.6.1 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="[preferred]/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-bin.zip" title=
-		"[preferred]/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.6.1-bin.zip');">zip</a>
-<a href="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-bin.zip.md5"
-	title="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-bin.zip.md5">MD5</a>
-<a href="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-bin.zip.asc"
-	title="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="[preferred]/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-src.zip" title=
-		"[preferred]/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.6.1-src.zip');">zip</a>
-<a href=
-	"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-src.zip.md5"
-title=
-"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-src.zip.md5">MD5</a>
-<a href=
-	"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-src.zip.asc"
-title=
-"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.1/rampart-dist-1.6.1-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div align="left"><br />
-<p>[if-any logo] <a href="[link]"><img align="right" src="[logo]"
-border="0" /></a>[end] The currently selected mirror is
-<b>[preferred]</b>. If you encounter a problem with this mirror,
-please select another mirror. If all mirrors are failing, there are
-<i>backup</i> mirrors (at the end of the mirrors list) that should
-be available.</p>
-<form action="[location]" method="get" id="SelectMirror" name="SelectMirror">
-Other mirrors: <select name="Preferred">
-[if-any http]
-  [for http]<option value="[http]">[http]</option>[end]
-[end]  
-[if-any ftp]
-  [for ftp]<option value="[ftp]">[ftp]</option>[end]
-[end]
-[if-any backup]
-  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
-[end]
-</select><input type="submit" value="Change"/></form><p>You may also consult the <a class="externalLink" href="http://www.apache.org/mirrors/">complete list of mirrors</a>
-.</p>
-<p><strong>Note:</strong> when downloading from a mirror please
-check the <a href=
-"http://www.apache.org/dev/release-signing#md5">md5sum</a> and
-verify the <a href=
-"http://www.apache.org/dev/release-signing#openpgp">OpenPGP</a>
-compatible signature from the main Apache site. These can be
-downloaded by following the links above. This <a href=
-"http://www.apache.org/dist/axis/axis2/java/rampart/KEYS">KEYS</a> file contains
-the public keys that can be used for verifying signatures. It is
-recommended that (when possible)a <a href=
-"http://www.apache.org/dev/release-signing#web-of-trust">Web of
-trust</a> is used to confirm the identity of these keys.</p>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/download/1.6.2/download.xml b/modules/documentation/src/site/xdoc/download/1.6.2/download.xml
deleted file mode 100644
index a3c7816..0000000
--- a/modules/documentation/src/site/xdoc/download/1.6.2/download.xml
+++ /dev/null
@@ -1,115 +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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content=
-"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
-<meta http-equiv="content-type" content="" />
-<title>Apache Rampart 1.6.2 Release</title>
-</head>
-<body>
-<!--Google Anayitcs tracking code-->
-<script type="text/javascript" src=
-"http://www.google-analytics.com/urchin.js">
-</script><script type="text/javascript">
-//<![CDATA[
-_uacct = "UA-1954378-3";
-urchinTracker();
-//]]>
-</script>
-<!--End of Google Anayitcs tracking code-->
-<h2>Apache Rampart 1.6.2 Release</h2>
-<div>
-<table border="1" cellpadding="1">
-<tbody>
-<tr>
-<th scope="col">Distribution Name</th>
-<th scope="col">Description</th>
-<!--<th scope="col">Items</th>-->
-<th scope="col">Download</th>
-</tr>
-<tr>
-<td><a name="std-bin" id="std-bin"></a><strong>Standard Binary
-Distribution</strong></td>
-<td>This is the complete version of Apache Rampart and will contain samples
-as well.</td>
-<td><a href="[preferred]/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-bin.zip" title=
-		"[preferred]/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-bin.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.6.2-bin.zip');">zip</a>
-<a href="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-bin.zip.md5"
-	title="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-bin.zip.md5">MD5</a>
-<a href="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-bin.zip.asc"
-	title="http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-bin.zip.asc">PGP</a></td>
-</tr>
-<tr>
-<td><a name="src" id="src"></a> <strong>Source
-Distribution</strong></td>
-<td>This will contain the sources of Apache Rampart distribution.</td>
-<td><a href="[preferred]/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-src.zip" title=
-		"[preferred]/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-src.zip" onClick=
-"javascript:urchinTracker ('/downloads/rampart-dist-1.6.2-src.zip');">zip</a>
-<a href=
-	"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-src.zip.md5"
-title=
-"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-src.zip.md5">MD5</a>
-<a href=
-	"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-src.zip.asc"
-title=
-"http://www.apache.org/dist/axis/axis2/java/rampart/1.6.2/rampart-dist-1.6.2-src.zip.asc">PGP</a></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div align="left"><br />
-<p>[if-any logo] <a href="[link]"><img align="right" src="[logo]"
-border="0" /></a>[end] The currently selected mirror is
-<b>[preferred]</b>. If you encounter a problem with this mirror,
-please select another mirror. If all mirrors are failing, there are
-<i>backup</i> mirrors (at the end of the mirrors list) that should
-be available.</p>
-<form action="[location]" method="get" id="SelectMirror" name="SelectMirror">
-Other mirrors: <select name="Preferred">
-[if-any http]
-  [for http]<option value="[http]">[http]</option>[end]
-[end]  
-[if-any ftp]
-  [for ftp]<option value="[ftp]">[ftp]</option>[end]
-[end]
-[if-any backup]
-  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
-[end]
-</select><input type="submit" value="Change"/></form><p>You may also consult the <a class="externalLink" href="http://www.apache.org/mirrors/">complete list of mirrors</a>
-.</p>
-<p><strong>Note:</strong> when downloading from a mirror please
-check the <a href=
-"http://www.apache.org/dev/release-signing#md5">md5sum</a> and
-verify the <a href=
-"http://www.apache.org/dev/release-signing#openpgp">OpenPGP</a>
-compatible signature from the main Apache site. These can be
-downloaded by following the links above. This <a href=
-"http://www.apache.org/dist/axis/axis2/java/rampart/KEYS">KEYS</a> file contains
-the public keys that can be used for verifying signatures. It is
-recommended that (when possible)a <a href=
-"http://www.apache.org/dev/release-signing#web-of-trust">Web of
-trust</a> is used to confirm the identity of these keys.</p>
-</div>
-</body>
-</html>
diff --git a/modules/documentation/src/site/xdoc/index.xml b/modules/documentation/src/site/xdoc/index.xml
deleted file mode 100644
index b8e37e5..0000000
--- a/modules/documentation/src/site/xdoc/index.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!--
-  ~  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.
-  -->
-
-<document xmlns="http://maven.apache.org/XDOC/2.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
-
-	<properties>
-		
-	</properties>
-
-	<body>
-        <h1>Apache Rampart - Axis2 Security Module</h1>
-		<section name="Welcome to Apache Rampart">
-			<p>Rampart is the security module of Axis2. It secures SOAP messages
-according to specifications in the WS-Security stack. Rampart implements the
-following specifications:</p>
-		</section>
-		
-		<section name="Features of Rampart Latest Version">
-		
-		    <ul>
-                <li><p>WS - Security 1.0</p></li>
-                <li><p>WS - Security 1.1</p></li>
-                <li><p>WS - Secure Conversation - February 2005</p></li>
-                <li><p>WS - Security Policy - 1.1 - July 2005</p></li>
-                <li><p>WS - Security Policy - 1.2</p></li>
-                <li><p>WS - Trust - February 2005</p></li>
-                <li><p>WS - Trust - WS-SX spec - EXPERIMENTAL</p></li>
-            </ul>
-        </section>
-        
-        <section name="Apache Rampart News">
-        <h3>April 26, 2012 : Apache Rampart 1.6.2 released</h3>
-        <p>Apache Rampart 1.6.2 is a maintenance release that update WSS4J to version 1.6.4 and OpenSAML to version 2.5.1. Apache Rampart 1.6.2 ensure compatibility with the latest Axis2 1.6.2 release.</p>
-
-        <h3>Sep 24, 2011 : Apache Rampart 1.5.2 and 1.6.1 released</h3>
-        <p>Both releases update WSS4J to version 1.5.12 and ensure compatibility with the latest
-        Axis2 releases from the corresponding branches. Rampart 1.5.2 is supported with Axis2 1.5.6
-        and Rampart 1.6.1 is supported with Axis2 1.6.1. Please note that Rampart 1.6.1 will not
-        work with Axis2 1.6.0 and that users of Axis2 1.6.1 are required to update to Rampart 1.6.1,
-        i.e. Rampart 1.6.0 doesn't work with Axis2 1.6.1.</p>
-        
-		<h3>Jun 06, 2011 : Apache Rampart 1.6.0 released</h3>
-        <p>Apache Rampart 1.6.0 was released with lots of bug fixes.</p>
-    
-		<h3>Jan 10, 2011 : Apache Rampart 1.5.1 released</h3>
-        <p>Apache Rampart 1.5.1 was released with lots of bug fixes.</p>
-
-		<h3>Feb 01, 2010 : Apache Rampart 1.5 released</h3>
-        <p>Apache Rampart 1.5 was released with lots of bug fixes and new features.</p>
-        <p>New features include</p>
-            <ul>
-                <li>SAML 2.0 support - Issuance </li>
-                <li>Key store caching</li>
-                <li>Signing / Encrypting with multiple keys</li>
-                <li>Tests for negative scenarios</li>
-            </ul>
-        <h3>Jun 12, 2008 : Apache Rampart 1.4 released</h3>  
-        <p>Apache Rampart 1.4 was released with lots of bug fixes and new features.</p>
-        <p>New features include</p>
-            <ul>
-                <li>WS Security 1.1</li>
-                <ul>
-                   <li>Encrypted headers</li>
-                   <li>Encrypted SHA1 references</li>
-                </ul>
-                <li>WS Security Policy 1.2 support</li>
-                <li>WS Trust</li>
-                <ul>
-                    <li>Renew binding</li>
-                    <li>Validation binding</li>
-                </ul>
-                <li>New configuration options</li>
-                <ul>
-                    <li>Ability to plug in Custom policy validators</li>
-                    <li>Ability to define certAlias different from username for signature</li>
-                    <li>Ability turn off mili second precision</li>
-                </ul>
-                <li>Ability to secure messages faults </li>
-                <li>Increased interoperability with WCF 3.5 </li>
-            </ul>   
-        </section>
-	</body>
-</document>
diff --git a/modules/rampart-core/pom.xml b/modules/rampart-core/pom.xml
index 1551d71..7d4b513 100644
--- a/modules/rampart-core/pom.xml
+++ b/modules/rampart-core/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -34,30 +34,38 @@
     <packaging>jar</packaging>
     <name>Rampart - Core</name>
 
-    <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <excludes>
-                    <exclude>**/*.java</exclude>                     
-                </excludes>
-            </resource>
-        </resources> 
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
     <dependencies>
         <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-kernel</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-mtompolicy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>mex</artifactId>
+            <classifier>impl</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.security</groupId>
+            <artifactId>wss4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opensaml</groupId>
+            <artifactId>opensaml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>xalan</groupId>
+            <artifactId>xalan</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.rampart</groupId>
             <artifactId>rampart-policy</artifactId>
             <version>${project.version}</version>
@@ -72,19 +80,15 @@
             <artifactId>axiom-dom</artifactId>
             <scope>runtime</scope>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.commons.axiom</groupId>
+            <artifactId>axiom-truth</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <configuration>
-                    <templateDirectory>${basedir}</templateDirectory>
-                    <menu ref="parent" />
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
 </project>
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/ExtendedPolicyValidatorCallbackHandler.java b/modules/rampart-core/src/main/java/org/apache/rampart/ExtendedPolicyValidatorCallbackHandler.java
index 6bd2f59..c2248b9 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/ExtendedPolicyValidatorCallbackHandler.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/ExtendedPolicyValidatorCallbackHandler.java
@@ -3,7 +3,6 @@
 import org.apache.ws.security.WSSecurityEngineResult;
 
 import java.util.List;
-import java.util.Vector;
 
 /**
  * This is an extension of the PolicyValidatorCallbackHandler. PolicyValidatorCallbackHandler uses Vector
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/NonceCache.java b/modules/rampart-core/src/main/java/org/apache/rampart/NonceCache.java
index a0681fa..27d2359 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/NonceCache.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/NonceCache.java
@@ -140,12 +140,12 @@
         rightNow.add(Calendar.SECOND, -(maxLifeTime));

         long timeBeforeMaxLifeTime = rightNow.getTimeInMillis();

         

-        Iterator iterator = mapIdNonce.entrySet().iterator();

+        Iterator<Map.Entry<Nonce, Calendar>> iterator = mapIdNonce.entrySet().iterator();

 

         while (iterator.hasNext()) {

 

-            Map.Entry pair = (Map.Entry)iterator.next();

-            Calendar itemDate = (Calendar)pair.getValue();

+            Map.Entry<Nonce, Calendar> pair = iterator.next();

+            Calendar itemDate = pair.getValue();

 

             long itemAddedTime = itemDate.getTimeInMillis();

 

diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java b/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
index c0f62bd..6494d13 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
@@ -39,7 +39,6 @@
 
 import javax.xml.namespace.QName;
 import java.math.BigInteger;
-import java.security.KeyStore;
 import java.security.cert.X509Certificate;
 import java.util.*;
 
@@ -324,13 +323,34 @@
                 UsernameToken ut = (UsernameToken) token;
                 //Check presence of a UsernameToken
                 WSSecurityEngineResult utResult = WSSecurityUtil.fetchActionResult(results, WSConstants.UT);
+                
                 if (utResult == null && !ut.isOptional()) {
                     throw new RampartException("usernameTokenMissing");
                 }
+                
+                org.apache.ws.security.message.token.UsernameToken wssUt = 
+                		(org.apache.ws.security.message.token.UsernameToken) utResult.get(WSSecurityEngineResult.TAG_USERNAME_TOKEN);
+                
+                if(ut.isNoPassword() && wssUt.getPassword() != null) {
+                	throw new RampartException("invalidUsernameTokenType");
+                }
+                
+            	if(ut.isHashPassword() && !wssUt.isHashed()) {
+                	throw new RampartException("invalidUsernameTokenType");
+                } else if (!ut.isHashPassword() && (wssUt.getPassword() == null ||
+                        !wssUt.getPasswordType().equals(WSConstants.PASSWORD_TEXT))) {
+                	throw new RampartException("invalidUsernameTokenType");
+                }
+                
+                
 
             } else if (token instanceof IssuedToken) {
-                //TODO is is enough to check for ST_UNSIGNED results ??
-                WSSecurityEngineResult samlResult = WSSecurityUtil.fetchActionResult(results, WSConstants.ST_UNSIGNED);
+                WSSecurityEngineResult samlResult = WSSecurityUtil.fetchActionResult(results, WSConstants.ST_SIGNED);
+                // Then check for unsigned saml tokens
+                if (samlResult == null) {
+                    log.debug("No signed SAMLToken found. Looking for unsigned SAMLTokens");
+                    samlResult = WSSecurityUtil.fetchActionResult(results, WSConstants.ST_UNSIGNED);
+                }
                 if (samlResult == null) {
                     throw new RampartException("samlTokenMissing");
                 }
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java b/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
index b1f6970..a4d612b 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
@@ -27,17 +27,39 @@
 import org.apache.rahas.Token;
 import org.apache.rahas.TokenStorage;
 import org.apache.rampart.policy.RampartPolicyData;
+import org.apache.rampart.policy.model.KerberosConfig;
+import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.rampart.saml.SAMLAssertionHandler;
 import org.apache.rampart.saml.SAMLAssertionHandlerFactory;
 import org.apache.rampart.util.Axis2Util;
 import org.apache.rampart.util.RampartUtil;
 import org.apache.ws.secpolicy.WSSPolicyException;
-import org.apache.ws.security.*;
+import org.apache.ws.secpolicy.model.KerberosToken;
+import org.apache.ws.secpolicy.model.SupportingToken;
+import org.apache.ws.secpolicy.model.UsernameToken;
+import org.apache.ws.security.NamePasswordCallbackHandler;
+import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSPasswordCallback;
+import org.apache.ws.security.WSSConfig;
+import org.apache.ws.security.WSSecurityEngine;
+import org.apache.ws.security.WSSecurityEngineResult;
+import org.apache.ws.security.WSSecurityException;
+import org.apache.ws.security.WSUsernameTokenPrincipal;
 import org.apache.ws.security.components.crypto.Crypto;
+import org.apache.ws.security.validate.KerberosTokenDecoder;
+import org.apache.ws.security.validate.KerberosTokenValidator;
 
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
 import javax.xml.namespace.QName;
+
+import java.io.IOException;
 import java.security.cert.X509Certificate;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
 
 public class RampartEngine {
 
@@ -83,8 +105,93 @@
 		List<WSSecurityEngineResult> results;
 
 		WSSecurityEngine engine = new WSSecurityEngine();
+		
+		//Set rampart's configuration of WSS4J
+		engine.setWssConfig(rmd.getConfig());
 
-		ValidatorData data = new ValidatorData(rmd);
+        RampartConfig rampartConfig = rpd.getRampartConfig();
+        if (rampartConfig != null) {
+            WSSConfig config = engine.getWssConfig();
+
+            // Inbound Kerberos authentication for web services
+            // Check the service policy for Kerberos token and add KerberosTokenValidator for BINARY_TOKEN validation
+            SupportingToken endSupptokens = rpd.getEndorsingSupportingTokens();
+            if (endSupptokens != null && endSupptokens.getTokens() != null &&
+                endSupptokens.getTokens().size() > 0) {
+                
+                log.debug("Processing endorsing supporting tokens");
+                
+                for (org.apache.ws.secpolicy.model.Token token : endSupptokens.getTokens()) {
+                    if (token instanceof KerberosToken) {
+                        log.debug("KerberosToken is found as part of the endorsing supporting tokens.Check for KerberosConfig.");
+                        KerberosConfig kerberosConfig = rampartConfig.getKerberosConfig();
+                        
+                        if (null != kerberosConfig){
+                            log.debug("KerberosConfig is found.");
+                            log.debug("Creating KerberosTokenValidor with the available KerberosConfig.");
+                            KerberosTokenValidator kerberosValidator = new KerberosTokenValidator();
+                            
+                            KerberosTokenDecoder kerberosTokenDecoder = RampartUtil.getKerberosTokenDecoder(msgCtx, kerberosConfig);
+                            if (kerberosTokenDecoder != null) {
+                                kerberosValidator.setKerberosTokenDecoder(kerberosTokenDecoder);
+                            }
+                            kerberosValidator.setContextName(kerberosConfig.getJaasContext());
+                            kerberosValidator.setServiceName(kerberosConfig.getServicePrincipalName());
+                            String serviceNameForm = kerberosConfig.getServicePrincipalNameForm();
+                            
+                            if (KerberosConfig.USERNAME_NAME_FORM.equals(serviceNameForm)) {
+                                kerberosValidator.setUsernameServiceNameForm(true);    
+                            }
+                            
+                            String principalName = kerberosConfig.getPrincipalName();
+                            if (null == principalName){
+                                log.debug("Principal name is not available in the KerberosConfig.Using the Rampart configuration's user.");
+                                principalName = rampartConfig.getUser();
+                            }
+                            
+                            String password = kerberosConfig.getPrincipalPassword();
+                            if (password == null) {
+                                log.debug("Principal password is not available in the KerberosConfig.Trying with the configured Rampart password callback.");
+                                CallbackHandler handler = RampartUtil.getPasswordCB(rmd);
+
+                                if (handler != null) {
+                                    WSPasswordCallback[] cb = { 
+                                            new WSPasswordCallback(principalName, WSPasswordCallback.CUSTOM_TOKEN) 
+                                    };
+                                    
+                                    try {
+                                        handler.handle(cb);
+                                        if (cb[0].getPassword() != null && !"".equals(cb[0].getPassword())) {
+                                            password = cb[0].getPassword();
+                                        }
+                                    } catch (IOException e) {
+                                        throw new RampartException("errorInGettingPasswordForUser", new String[] { principalName }, e);
+                                    } catch (UnsupportedCallbackException e) {
+                                        throw new RampartException("errorInGettingPasswordForUser", new String[] { principalName }, e);
+                                    }
+                                } else{
+                                    log.debug("No Rampart password handler is configured.");
+                                }
+                            }
+                            
+                            if (principalName != null && password != null) {
+                                NamePasswordCallbackHandler cb = new NamePasswordCallbackHandler(principalName, password);                            
+                                kerberosValidator.setCallbackHandler(cb);
+                            }
+                            
+                            config.setValidator(WSSecurityEngine.BINARY_TOKEN, kerberosValidator);
+                            log.debug("KerberosTokenValidator is configured and set for BINARY_TOKEN.");
+                        } else {
+                            log.debug("KerberosConfig is not found.Skipping configurating and setting of a Kerberos validator.");
+                        }
+                    }
+                }
+            }
+            
+            engine.setWssConfig(config);
+        }
+
+        ValidatorData data = new ValidatorData(rmd);
 
 		SOAPHeader header = rmd.getMsgContext().getEnvelope().getHeader();
 		if(header == null) {
@@ -114,8 +221,20 @@
 			t0 = System.currentTimeMillis();
 		}
 
-		String actorValue = secHeader.getAttributeValue(new QName(rmd
-				.getSoapConstants().getEnvelopeURI(), "actor"));
+		//wss4j does not allow username tokens with no password per default, see https://issues.apache.org/jira/browse/WSS-420
+		//configure it to allow them explicitly if at least one username token assertion with no password requirement is found
+		if (!rmd.isInitiator()) {
+		    Collection<UsernameToken> usernameTokens = RampartUtil.getUsernameTokens(rpd);
+		    for (UsernameToken usernameTok : usernameTokens) {
+		        if (usernameTok.isNoPassword()) {
+		            log.debug("Found UsernameToken with no password assertion in policy, configuring ws security processing to allow username tokens without password." );
+		            engine.getWssConfig().setAllowUsernameTokenNoPassword(true);
+		            break;
+		        }
+		    }
+		}
+		
+		String actorValue = secHeader.getRole();
 
 		Crypto signatureCrypto = RampartUtil.getSignatureCrypto(rpd.getRampartConfig(), 
         		msgCtx.getAxisService().getClassLoader());
@@ -160,89 +279,90 @@
 		
 		//Store username in MessageContext property
 
-        for (int j = 0; j < results.size(); j++) {
-            WSSecurityEngineResult wser = (WSSecurityEngineResult) results.get(j);
-            final Integer actInt =
-                    (Integer) wser.get(WSSecurityEngineResult.TAG_ACTION);
-            if (WSConstants.ST_UNSIGNED == actInt.intValue()) {
+        if (results != null) {
+            for (int j = 0; j < results.size(); j++) {
+                WSSecurityEngineResult wser = (WSSecurityEngineResult) results.get(j);
+                final Integer actInt =
+                        (Integer) wser.get(WSSecurityEngineResult.TAG_ACTION);
+                if (WSConstants.ST_UNSIGNED == actInt.intValue()) {
 
-                Object samlAssertion = wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
+                    Object samlAssertion = wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
 
-                SAMLAssertionHandler samlAssertionHandler
-                        = SAMLAssertionHandlerFactory.createAssertionHandler(samlAssertion);
+                    SAMLAssertionHandler samlAssertionHandler
+                            = SAMLAssertionHandlerFactory.createAssertionHandler(samlAssertion);
 
-                if (samlAssertionHandler.isBearerAssertion()) {
-                    break;
-                }
-                //Store the token
-                try {
-                    TokenStorage store = rmd.getTokenStorage();
-                    if (store.getToken(samlAssertionHandler.getAssertionId()) == null) {
-                        Token token = new Token(samlAssertionHandler.getAssertionId(),
-                                samlAssertionHandler.getAssertionElement(),
-                                samlAssertionHandler.getDateNotBefore(),
-                                samlAssertionHandler.getDateNotOnOrAfter());
-
-                        token.setSecret(samlAssertionHandler.
-                                getAssertionKeyInfoSecret(signatureCrypto, tokenCallbackHandler));
-                        store.add(token);
+                    if (samlAssertionHandler.isBearerAssertion()) {
+                        break;
                     }
-                } catch (Exception e) {
-                    throw new RampartException(
-                            "errorInAddingTokenIntoStore", e);
-                }
-            } else if (WSConstants.UT == actInt) {
+                    //Store the token
+                    try {
+                        TokenStorage store = rmd.getTokenStorage();
+                        if (store.getToken(samlAssertionHandler.getAssertionId()) == null) {
+                            Token token = new Token(samlAssertionHandler.getAssertionId(),
+                                    samlAssertionHandler.getAssertionElement(),
+                                    samlAssertionHandler.getDateNotBefore(),
+                                    samlAssertionHandler.getDateNotOnOrAfter());
 
-		        WSUsernameTokenPrincipal userNameTokenPrincipal = (WSUsernameTokenPrincipal)wser.get(WSSecurityEngineResult.TAG_PRINCIPAL);
-
-                String username = userNameTokenPrincipal.getName();
-                msgCtx.setProperty(RampartMessageData.USERNAME, username);
-                
-                if (userNameTokenPrincipal.getNonce() != null) {
-                    // Check whether this is a replay attack. To verify that we need to check whether nonce value
-                    // is a repeating one
-                    int nonceLifeTimeInSeconds = 0;
-
-                    if (rpd.getRampartConfig() != null) {
-                        
-                        String stringLifeTime = rpd.getRampartConfig().getNonceLifeTime();
-
-                        try {
-                            nonceLifeTimeInSeconds = Integer.parseInt(stringLifeTime);
-
-                        } catch (NumberFormatException e) {
-                            log.error("Invalid value for nonceLifeTime in rampart configuration file.", e);
-                            throw new RampartException(
-                                        "invalidNonceLifeTime", e);
-
+                            token.setSecret(samlAssertionHandler.
+                                    getAssertionKeyInfoSecret(signatureCrypto, tokenCallbackHandler));
+                            store.add(token);
                         }
+                    } catch (Exception e) {
+                        throw new RampartException(
+                                "errorInAddingTokenIntoStore", e);
+                    }
+                } else if (WSConstants.UT == actInt) {
+
+                    WSUsernameTokenPrincipal userNameTokenPrincipal = (WSUsernameTokenPrincipal)wser.get(WSSecurityEngineResult.TAG_PRINCIPAL);
+
+                    String username = userNameTokenPrincipal.getName();
+                    msgCtx.setProperty(RampartMessageData.USERNAME, username);
+                    
+                    if (userNameTokenPrincipal.getNonce() != null) {
+                        // Check whether this is a replay attack. To verify that we need to check whether nonce value
+                        // is a repeating one
+                        int nonceLifeTimeInSeconds = 0;
+
+                        if (rpd.getRampartConfig() != null) {
+                            
+                            String stringLifeTime = rpd.getRampartConfig().getNonceLifeTime();
+
+                            try {
+                                nonceLifeTimeInSeconds = Integer.parseInt(stringLifeTime);
+
+                            } catch (NumberFormatException e) {
+                                log.error("Invalid value for nonceLifeTime in rampart configuration file.", e);
+                                throw new RampartException(
+                                            "invalidNonceLifeTime", e);
+
+                            }
+                        }
+
+                        String serviceEndpointName = msgCtx.getAxisService().getEndpointName();
+
+                        boolean valueRepeating = serviceNonceCache.isNonceRepeatingForService(serviceEndpointName, username, userNameTokenPrincipal.getNonce());
+
+                        if (valueRepeating){
+                            throw new RampartException("repeatingNonceValue", new Object[]{ userNameTokenPrincipal.getNonce(), username} );
+                        }
+
+                        serviceNonceCache.addNonceForService(serviceEndpointName, username, userNameTokenPrincipal.getNonce(), nonceLifeTimeInSeconds);
+                    }
+                } else if (WSConstants.SIGN == actInt) {
+                    X509Certificate cert = (X509Certificate) wser.get(WSSecurityEngineResult.TAG_X509_CERTIFICATE);
+
+                    if (rpd.isAsymmetricBinding() && cert == null && rpd.getInitiatorToken() != null
+                            && !rpd.getInitiatorToken().isDerivedKeys()) {
+
+                        // If symmetric binding is used, the certificate should be null.
+                        // If certificate is not null then probably initiator and
+                        // recipient are using 2 different bindings.
+                        throw new RampartException("invalidSignatureAlgo");
                     }
 
-                    String serviceEndpointName = msgCtx.getAxisService().getEndpointName();
-
-                    boolean valueRepeating = serviceNonceCache.isNonceRepeatingForService(serviceEndpointName, username, userNameTokenPrincipal.getNonce());
-
-                    if (valueRepeating){
-                        throw new RampartException("repeatingNonceValue", new Object[]{ userNameTokenPrincipal.getNonce(), username} );
-                    }
-
-                    serviceNonceCache.addNonceForService(serviceEndpointName, username, userNameTokenPrincipal.getNonce(), nonceLifeTimeInSeconds);
+                    msgCtx.setProperty(RampartMessageData.X509_CERT, cert);
                 }
-            } else if (WSConstants.SIGN == actInt) {
-                X509Certificate cert = (X509Certificate) wser.get(WSSecurityEngineResult.TAG_X509_CERTIFICATE);
-
-                if (rpd.isAsymmetricBinding() && cert == null && rpd.getInitiatorToken() != null
-                        && !rpd.getInitiatorToken().isDerivedKeys()) {
-
-                    // If symmetric binding is used, the certificate should be null.
-                    // If certificate is not null then probably initiator and
-                    // recipient are using 2 different bindings.
-                    throw new RampartException("invalidSignatureAlgo");
-                }
-
-                msgCtx.setProperty(RampartMessageData.X509_CERT, cert);
             }
-
         }
 
 		SOAPEnvelope env = Axis2Util.getSOAPEnvelopeFromDOMDocument(rmd.getDocument(), true);
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java b/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
index 22f738c..b195b22 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
@@ -26,12 +26,14 @@
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.util.PolicyUtil;
 import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyComponent;
 import org.apache.neethi.PolicyEngine;
 import org.apache.rahas.RahasConstants;
 import org.apache.rahas.SimpleTokenStore;
 import org.apache.rahas.TokenStorage;
+import org.apache.rampart.handler.RampartUsernameTokenValidator;
 import org.apache.rampart.handler.WSSHandlerConstants;
 import org.apache.rampart.policy.RampartPolicyBuilder;
 import org.apache.rampart.policy.RampartPolicyData;
@@ -46,6 +48,7 @@
 import org.apache.ws.security.SOAPConstants;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSSConfig;
+import org.apache.ws.security.WSSecurityEngine;
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.conversation.ConversationConstants;
@@ -175,6 +178,9 @@
             // Set the WSSConfig
             this.config = WSSConfig.getNewInstance();
             
+            //Update the UsernameToken validator
+            this.config.setValidator(WSSecurityEngine.USERNAME_TOKEN, RampartUsernameTokenValidator.class);
+            
             // First obtain the axis service as we have to do a null check, there can be situations 
             // where Axis Service is null
             AxisService axisService = msgCtx.getAxisService();            
@@ -256,7 +262,7 @@
             }
             
             if(this.servicePolicy != null){
-                List it = (List)this.servicePolicy.getAlternatives().next();
+                List<Assertion> it = this.servicePolicy.getAlternatives().next();
 
                 //Process policy and build policy data
                 this.policyData = RampartPolicyBuilder.build(it);
@@ -384,7 +390,7 @@
     private void setWSSecurityVersions(String namespace) throws RampartException {
 
         if (namespace == null || namespace.equals("")) {
-            throw new RampartException("Security policy namespace cannot be null.");
+            throw new RampartException("securityPolicyNamespaceCannotBeNull");
         }
 
         if (SP11Constants.SP_NS.equals(namespace)) {
@@ -425,7 +431,7 @@
             this.servicePolicy.addAssertion(rc);
         }
 
-        List it = (List) this.servicePolicy.getAlternatives().next();
+        List<Assertion> it = this.servicePolicy.getAlternatives().next();
 
         //Process policy and build policy data
         try {
@@ -444,14 +450,6 @@
     }
 
     /**
-     * @param document The document to set.
-     * @deprecated document is derived from MessageContext passed in constructor
-     */
-    public void setDocument(Document document) {
-        this.document = document;
-    }
-
-    /**
      * @return Returns the timeToLive.
      */
     public int getTimeToLive() {
@@ -502,14 +500,6 @@
     }
 
     /**
-     * @param msgContext The msgContext to set.
-     * @deprecated MessageContext is set in constructor
-     */
-    public void setMsgContext(MessageContext msgContext) {
-        this.msgContext = msgContext;
-    }
-
-    /**
      * @return Returns the policyData.
      */
     public RampartPolicyData getPolicyData() {
@@ -517,28 +507,6 @@
     }
 
     /**
-     * @param policyData The policyData to set.
-     * @deprecated Policy data determined within constructor
-     */
-    public void setPolicyData(RampartPolicyData policyData) throws RampartException {
-        this.policyData = policyData;
-        
-        try {
-            //if client side then check whether sig conf enabled 
-            //and get hold of the stored signature values
-            if(this.isInitiator && !this.sender && policyData.isSignatureConfirmation()) {
-                OperationContext opCtx = msgContext.getOperationContext();
-                MessageContext outMsgCtx = opCtx
-                        .getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
-                msgContext.setProperty(WSHandlerConstants.SEND_SIGV, outMsgCtx
-                        .getProperty(WSHandlerConstants.SEND_SIGV));
-            }
-        } catch (AxisFault e) {
-            throw new RampartException("errorGettingSignatureValuesForSigconf", e);
-        }
-    }
-
-    /**
      * @return Returns the secHeader.
      */
     public WSSecHeader getSecHeader() {
@@ -720,14 +688,6 @@
     }
 
     /**
-     * @param wstVersion The wstVersion to set.
-     * @deprecated This is defined by the class.
-     */
-    public void setWstVersion(int wstVersion) {
-        this.wstVersion = wstVersion;
-    }
-
-    /**
      * @return Returns the secConvVersion.
      */
     public int getSecConvVersion() {
@@ -741,13 +701,6 @@
         return servicePolicy;
     }
 
-    /**
-     * @param servicePolicy The servicePolicy to set.
-     * @deprecated servicePolicy determined in constructor
-     */
-    public void setServicePolicy(Policy servicePolicy) {
-        this.servicePolicy = servicePolicy;
-    }
     
     /**
      * @return Returns the timestampId.
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java b/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java
index 69473be..0572cd6 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java
@@ -27,14 +27,12 @@
 import org.apache.rampart.policy.SupportingPolicyData;
 import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.rampart.util.RampartUtil;
-import org.apache.ws.secpolicy.SPConstants;
 import org.apache.ws.secpolicy.model.AlgorithmSuite;
 import org.apache.ws.secpolicy.model.SupportingToken;
 import org.apache.ws.secpolicy.model.Token;
 import org.apache.ws.secpolicy.model.X509Token;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSEncryptionPart;
-import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.conversation.ConversationException;
 import org.apache.ws.security.handler.WSHandlerConstants;
@@ -202,12 +200,12 @@
 
             // TODO may contain deifferent types of objects as values, therefore cannot use strongly type maps
             // need to figure out a way
-            HashMap sigSuppTokMap = null;
-            HashMap endSuppTokMap = null;
-            HashMap sgndEndSuppTokMap = null;
-            HashMap sgndEncSuppTokMap = null;
-            HashMap endEncSuppTokMap = null;
-            HashMap sgndEndEncSuppTokMap = null;
+            HashMap<Token,Object> sigSuppTokMap = null;
+            HashMap<Token,Object> endSuppTokMap = null;
+            HashMap<Token,Object> sgndEndSuppTokMap = null;
+            HashMap<Token,Object> sgndEncSuppTokMap = null;
+            HashMap<Token,Object> endEncSuppTokMap = null;
+            HashMap<Token,Object> sgndEndEncSuppTokMap = null;
             
             if(this.timestampElement != null){
             	sigParts.add(RampartUtil.createEncryptionPart(WSConstants.TIMESTAMP_TOKEN_LN,
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java b/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
index 98e0fed..6dc753c 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
@@ -17,7 +17,10 @@
 package org.apache.rampart.builder;
 
 import org.apache.axiom.om.OMElement;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.AddressingHelper;
 import org.apache.axis2.client.Options;
+import org.apache.axis2.description.AxisEndpoint;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.rahas.EncryptedKeyToken;
@@ -28,6 +31,7 @@
 import org.apache.rampart.policy.RampartPolicyData;
 import org.apache.rampart.policy.SupportingPolicyData;
 import org.apache.rampart.policy.model.RampartConfig;
+import org.apache.rampart.policy.model.KerberosConfig;
 import org.apache.rampart.util.RampartUtil;
 import org.apache.ws.secpolicy.Constants;
 import org.apache.ws.secpolicy.SPConstants;
@@ -38,6 +42,7 @@
 import org.apache.ws.secpolicy.model.Token;
 import org.apache.ws.secpolicy.model.UsernameToken;
 import org.apache.ws.secpolicy.model.X509Token;
+import org.apache.ws.security.NamePasswordCallbackHandler;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSEncryptionPart;
 import org.apache.ws.security.WSPasswordCallback;
@@ -53,6 +58,7 @@
 import org.apache.ws.security.message.WSSecSignatureConfirmation;
 import org.apache.ws.security.message.WSSecTimestamp;
 import org.apache.ws.security.message.WSSecUsernameToken;
+import org.apache.ws.security.message.token.KerberosSecurity;
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
@@ -231,20 +237,6 @@
         }
     }
     
-    //Deprecated after 1.5 release
-    @Deprecated 
-    protected WSSecSignature getSignatureBuider(RampartMessageData rmd, 
-                                                Token token) throws RampartException {
-    	return getSignatureBuilder(rmd, token, null);
-    }
-
-    //Deprecated after 1.5 release
-    @Deprecated
-    protected WSSecSignature getSignatureBuider(RampartMessageData rmd, Token token,
-                                                String userCertAlias) throws RampartException {
-    	return getSignatureBuilder(rmd, token, userCertAlias);
-    }
-    
     protected WSSecSignature getSignatureBuilder(RampartMessageData rmd, 
                                                  Token token)throws RampartException {
         return getSignatureBuilder(rmd, token, null);
@@ -351,20 +343,18 @@
      * @param suppTokens
      * @throws RampartException
      */
-    protected HashMap handleSupportingTokens(RampartMessageData rmd, SupportingToken suppTokens)
+    protected HashMap<Token,Object> handleSupportingTokens(RampartMessageData rmd, SupportingToken suppTokens)
             throws RampartException {
         
         //Create the list to hold the tokens
         // TODO putting different types of objects. Need to figure out a way to add single types of objects
-        HashMap endSuppTokMap = new HashMap();
+        HashMap<Token,Object> endSuppTokMap = new HashMap<Token,Object>();
         
         if(suppTokens != null && suppTokens.getTokens() != null &&
                 suppTokens.getTokens().size() > 0) {
             log.debug("Processing supporting tokens");
 
-            ArrayList tokens = suppTokens.getTokens();
-            for (Object objectToken : tokens) {
-                Token token = (Token) objectToken;
+            for (Token token : suppTokens.getTokens()) {
                 org.apache.rahas.Token endSuppTok = null;
                 if (token instanceof IssuedToken && rmd.isInitiator()) {
                     String id = RampartUtil.getIssuedToken(rmd, (IssuedToken) token);
@@ -424,8 +414,10 @@
                     //Add the UT
                     Element elem = utBuilder.getUsernameTokenElement();
                     elem = RampartUtil.insertSiblingAfter(rmd, this.getInsertionLocation(), elem);
-
-                    encryptedTokensIdList.add(utBuilder.getId());
+                    
+                    if (suppTokens.isEncryptedToken()) {
+                    	encryptedTokensIdList.add(utBuilder.getId());
+                    }
 
                     //Move the insert location to the next element
                     this.setInsertionLocation(elem);
@@ -488,17 +480,13 @@
     }
     
     
-    protected List<byte[]> doEndorsedSignatures(RampartMessageData rmd, HashMap tokenMap) throws RampartException {
-        
-        Set tokenSet = tokenMap.keySet();
+    protected List<byte[]> doEndorsedSignatures(RampartMessageData rmd, HashMap<Token,Object> tokenMap) throws RampartException {
         
         List<byte[]> sigValues = new ArrayList<byte[]>();
 
-        for (Object aTokenSet : tokenSet) {
-
-            Token token = (Token) aTokenSet;
-
-            Object tempTok = tokenMap.get(token);
+        for (Map.Entry<Token,Object> entry : tokenMap.entrySet()) {
+            Token token = entry.getKey();
+            Object tempTok = entry.getValue();
 
             // Migrating to a list
             List<WSEncryptionPart> sigParts = new ArrayList<WSEncryptionPart>();
@@ -864,5 +852,95 @@
         }
     }
 
-    
+    protected KerberosSecurity addKerberosToken(RampartMessageData rmd, Token token)
+            throws RampartException {
+        RampartPolicyData rpd = rmd.getPolicyData();
+        KerberosConfig krbConfig = rpd.getRampartConfig().getKerberosConfig();
+
+        if (krbConfig == null) {
+            throw new RampartException("noKerberosConfigDefined");
+        }
+
+        log.debug("Token inclusion: " + token.getInclusion());
+
+        String user = krbConfig.getPrincipalName();
+        if (user == null) {
+            user = rpd.getRampartConfig().getUser();
+        }
+        
+        String password = krbConfig.getPrincipalPassword();
+        if (password == null) {
+            CallbackHandler handler = RampartUtil.getPasswordCB(rmd);
+
+            if (handler != null) {
+                if (user == null) {
+                    log.debug("Password callback is configured but no user value is specified in the configuration");
+                    throw new RampartException("userMissing");
+                }
+                
+                //TODO We do not have a separate usage type for Kerberos token, let's use custom token
+                WSPasswordCallback[] cb = { new WSPasswordCallback(user, WSPasswordCallback.CUSTOM_TOKEN) };
+                try {
+                    handler.handle(cb);
+                    if (cb[0].getPassword() != null && !"".equals(cb[0].getPassword())) {
+                        password = cb[0].getPassword();
+                    }
+                } catch (IOException e) {
+                    throw new RampartException("errorInGettingPasswordForUser", new String[] { user }, e);
+                } catch (UnsupportedCallbackException e) {
+                    throw new RampartException("errorInGettingPasswordForUser", new String[] { user }, e);
+                }
+            }
+        }
+        
+        String principalName = null;
+        boolean isUsernameServiceNameForm = KerberosConfig.USERNAME_NAME_FORM.equals(krbConfig.getServicePrincipalNameForm());
+        
+        AxisEndpoint endpoint = rmd.getMsgContext().findEndpoint();
+        if (endpoint != null) {
+            if (log.isDebugEnabled()) {
+                log.debug("Identified endpoint: " + endpoint.getName() + ". Looking for SPN identity claim.");
+            }
+            
+            OMElement addressingIdentity = AddressingHelper.getAddressingIdentityParameterValue(endpoint);
+            if (addressingIdentity != null) {
+                OMElement spnClaim = addressingIdentity.getFirstChildWithName(AddressingConstants.QNAME_IDENTITY_SPN);
+                if (spnClaim != null) {
+                    principalName = spnClaim.getText();
+                    isUsernameServiceNameForm = false;
+                    if (log.isDebugEnabled()) {
+                        log.debug("Found SPN identity claim: " + principalName);
+                    }
+                }
+                else {
+                    OMElement upnClaim = addressingIdentity.getFirstChildWithName(AddressingConstants.QNAME_IDENTITY_UPN);
+                    if (upnClaim != null) {
+                        principalName = upnClaim.getText();
+                        isUsernameServiceNameForm = true;
+                        if (log.isDebugEnabled()) {
+                            log.debug("Found UPN identity claim: " + principalName);
+                        }
+                    } else if (log.isDebugEnabled()) {
+                        log.debug(String.format("Neither SPN nor UPN identity claim found in %s EPR element for endpoint %s.", addressingIdentity.getQName().toString(), endpoint.getName()));
+                    }
+                }
+            }
+        }
+        
+        if (principalName == null) {
+        	principalName = krbConfig.getServicePrincipalName();
+        }
+        
+        try {
+            KerberosSecurity bst = new KerberosSecurity(rmd.getDocument());
+            
+            NamePasswordCallbackHandler cb = new NamePasswordCallbackHandler(user, password);
+            bst.retrieveServiceTicket(krbConfig.getJaasContext(), cb, principalName, isUsernameServiceNameForm,
+                krbConfig.isRequstCredentialDelegation(), krbConfig.getDelegationCredential());
+            
+            return bst;
+        } catch (WSSecurityException e) {
+            throw new RampartException("errorInBuildingKereberosToken", e);
+        }
+    }
 }
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/builder/TransportBindingBuilder.java b/modules/rampart-core/src/main/java/org/apache/rampart/builder/TransportBindingBuilder.java
index 2bee572..de05429 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/builder/TransportBindingBuilder.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/builder/TransportBindingBuilder.java
@@ -32,6 +32,7 @@
 import org.apache.ws.secpolicy.model.AlgorithmSuite;
 import org.apache.ws.secpolicy.model.Header;
 import org.apache.ws.secpolicy.model.IssuedToken;
+import org.apache.ws.secpolicy.model.KerberosToken;
 import org.apache.ws.secpolicy.model.SecureConversationToken;
 import org.apache.ws.secpolicy.model.SignedEncryptedParts;
 import org.apache.ws.secpolicy.model.SupportingToken;
@@ -44,10 +45,16 @@
 import org.apache.ws.security.conversation.ConversationException;
 import org.apache.ws.security.handler.WSHandlerConstants;
 import org.apache.ws.security.message.*;
+import org.apache.ws.security.message.token.KerberosSecurity;
+import org.apache.ws.security.util.Base64;
+import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
+import javax.crypto.SecretKey;
 import javax.xml.crypto.dsig.Reference;
+import javax.xml.crypto.dsig.SignatureMethod;
+
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -138,6 +145,8 @@
                     } else if (token instanceof SecureConversationToken) {
                         handleSecureConversationTokens(rmd, (SecureConversationToken) token);
                         signatureValues.add(doSecureConversationSignature(rmd, token, signdParts));
+                    } else if (token instanceof KerberosToken) {
+                        signatureValues.add(doKerberosTokenSignature(rmd, (KerberosToken)token, signdParts));
                     }
                 }
             }
@@ -292,6 +301,77 @@
         
     }
 
+    /**
+     * Generates a signature over the timestamp element (if any) using the Kerberos client/server session key.
+     * 
+     * @param rmd
+     * @param token
+     * @param signdParts 
+     */
+    private byte[] doKerberosTokenSignature(RampartMessageData rmd, KerberosToken token, SignedEncryptedParts signdParts) throws RampartException {
+        
+        Document doc = rmd.getDocument();
+        
+        List<WSEncryptionPart> sigParts = new ArrayList<WSEncryptionPart>();
+        
+        //TODO Shall we always include a timestamp?
+        if (this.timestampElement != null) {
+            sigParts.add(new WSEncryptionPart(rmd.getTimestampId()));
+        }
+        
+        if (signdParts != null) {
+            if (signdParts.isBody()) {
+                SOAPEnvelope env = rmd.getMsgContext().getEnvelope();
+                sigParts.add(new WSEncryptionPart(RampartUtil.addWsuIdToElement(env.getBody())));
+            }
+    
+            ArrayList headers = signdParts.getHeaders();
+            for (Iterator iterator = headers.iterator(); iterator.hasNext();) {
+                Header header = (Header) iterator.next();
+                WSEncryptionPart wep = new WSEncryptionPart(header.getName(), 
+                        header.getNamespace(),
+                        "Content");
+                sigParts.add(wep);
+            }
+        }
+
+        try {
+            KerberosSecurity kerberosBst = addKerberosToken(rmd, token);
+            kerberosBst.setID("Id-" + kerberosBst.hashCode());
+            
+            WSSecSignature sign = new WSSecSignature();
+            sign.setSignatureAlgorithm(SignatureMethod.HMAC_SHA1);
+            
+            if (token.isRequiresKeyIdentifierReference()) {
+                sign.setKeyIdentifierType(WSConstants.CUSTOM_KEY_IDENTIFIER);
+               
+                byte[] digestBytes = WSSecurityUtil.generateDigest(kerberosBst.getToken());
+                sign.setCustomTokenId(Base64.encode(digestBytes));
+                sign.setCustomTokenValueType(WSConstants.WSS_KRB_KI_VALUE_TYPE);
+            } else {
+                sign.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
+                
+                sign.setCustomTokenId(kerberosBst.getID());
+                sign.setCustomTokenValueType(kerberosBst.getValueType());
+            }
+            
+            SecretKey secretKey = kerberosBst.getSecretKey();
+            sign.setSecretKey(secretKey.getEncoded());
+            
+            sign.prepare(doc, null, rmd.getSecHeader());
+            
+            WSSecurityUtil.prependChildElement(rmd.getSecHeader().getSecurityHeader(), kerberosBst.getElement());
+            
+            List<Reference> referenceList = sign.addReferencesToSign(sigParts, rmd.getSecHeader());
+
+            sign.computeSignature(referenceList, false, null);
+
+            return sign.getSignatureValue();
+        } catch (WSSecurityException e) {
+            throw new RampartException("errorInSignatureWithKerberosToken", e);
+        }
+    }
+    
     private void appendToHeader(WSSecHeader secHeader, Element appendingChild) {
 
         // TODO this is bit dubious, before migration code was like "dkSig.appendSigToHeader(rmd.getSecHeader())"
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java
index 781cf37..6480b60 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/handler/PostDispatchVerificationHandler.java
@@ -30,7 +30,6 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.rampart.RampartMessageData;
 import org.apache.rampart.policy.RampartPolicyData;
-import org.apache.rampart.util.HandlerParameterDecoder;
 import org.apache.rampart.util.RampartUtil;
 import org.apache.ws.secpolicy.model.Binding;
 import org.apache.ws.secpolicy.model.SupportingToken;
@@ -122,13 +121,13 @@
             return InvocationResponse.CONTINUE;
         }
         
-        Iterator alternatives = policy.getAlternatives();
+        Iterator<List<Assertion>> alternatives = policy.getAlternatives();
         
         boolean securityPolicyPresent = false;
         if(alternatives.hasNext()) {
-            List assertions = (List)alternatives.next();
-            for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-                Assertion assertion = (Assertion) iterator.next();
+            List<Assertion> assertions = alternatives.next();
+            for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+                Assertion assertion = iterator.next();
                 //Check for any *Binding assertion
                 if (assertion instanceof Binding) {
                     securityPolicyPresent = true;
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartUsernameTokenValidator.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartUsernameTokenValidator.java
new file mode 100644
index 0000000..b8990b7
--- /dev/null
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartUsernameTokenValidator.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2004,2013 The Apache Software Foundation.
+ *
+ * Licensed 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.rampart.handler;
+
+import java.io.IOException;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.rampart.RampartConstants;
+import org.apache.ws.security.WSPasswordCallback;
+import org.apache.ws.security.WSSecurityException;
+import org.apache.ws.security.handler.RequestData;
+import org.apache.ws.security.message.token.UsernameToken;
+import org.apache.ws.security.validate.UsernameTokenValidator;
+
+/**
+ * Overriding the default UsernameTokenValidator provided by WSS4J because the
+ * default implementation expects the user to provide the plain text password to
+ * WSS4J for validation.
+ * 
+ */
+public class RampartUsernameTokenValidator extends UsernameTokenValidator {
+
+	private static Log mlog = LogFactory.getLog(RampartConstants.MESSAGE_LOG);
+
+	@Override
+	protected void verifyPlaintextPassword(UsernameToken usernameToken,
+			RequestData data) throws WSSecurityException {
+
+		String user = usernameToken.getName();
+		String password = usernameToken.getPassword();
+		String pwType = usernameToken.getPasswordType();
+
+		// Provide the password to the user for validation
+		WSPasswordCallback pwCb = new WSPasswordCallback(user, password,
+				pwType, WSPasswordCallback.USERNAME_TOKEN, data);
+		try {
+			data.getCallbackHandler().handle(new Callback[] { pwCb });
+		} catch (IOException e) {
+			if (mlog.isDebugEnabled()) {
+				mlog.debug(e);
+			}
+			throw new WSSecurityException(
+					WSSecurityException.FAILED_AUTHENTICATION);
+		} catch (UnsupportedCallbackException e) {
+			if (mlog.isDebugEnabled()) {
+				mlog.debug(e);
+			}
+			throw new WSSecurityException(
+					WSSecurityException.FAILED_AUTHENTICATION);
+		}
+
+	}
+}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllHandler.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllHandler.java
deleted file mode 100644
index 1c80f50..0000000
--- a/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllHandler.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.HandlerDescription;
-import org.apache.axis2.description.Parameter;
-import org.apache.axis2.engine.Handler;
-import org.apache.rampart.util.Axis2Util;
-import org.apache.ws.security.handler.WSHandler;
-
-/**
- * Class WSDoAllHandler
- */
-public abstract class WSDoAllHandler extends WSHandler implements Handler {
-
-    /**
-     * Field EMPTY_HANDLER_METADATA
-     */
-    private static HandlerDescription EMPTY_HANDLER_METADATA =
-            new HandlerDescription("default Handler");
-
-    private final static String WSS_PASSWORD = "password";
-
-    private final static String WSS_USERNAME = "username";
-
-    /**
-     * Field handlerDesc
-     */
-    protected HandlerDescription handlerDesc;
-
-    /**
-     * In Axis2, the user cannot set inflow and outflow parameters.
-     * Therefore, we need to map the Axis2 specific inflow and outflow
-     * parameters to WSS4J params,
-     * <p/>
-     * Knowledge of inhandler and out handler is used to get the mapped value.
-     */
-    protected boolean inHandler;
-
-    /**
-     * Constructor AbstractHandler.
-     */
-    public WSDoAllHandler() {
-        handlerDesc = EMPTY_HANDLER_METADATA;
-    }
-
-    public abstract void processMessage(MessageContext msgContext) throws AxisFault;
-
-    /* (non-Javadoc)
-    * @see org.apache.axis2.engine.Handler#invoke(org.apache.axis2.context.MessageContext)
-    */
-    public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {
-        //If the security module is not engaged for this service
-        //do not do any processing
-        if (msgContext.isEngaged(WSSHandlerConstants.SECURITY_MODULE_NAME)) {
-            this.processMessage(msgContext);
-        }
-        return InvocationResponse.CONTINUE;        
-    }
-
-    public void flowComplete(MessageContext msgContext)
-    {
-    }
-    
-    /**
-     * Method getName.
-     *
-     * @return Returns name.
-     */
-    public String getName() {
-        return handlerDesc.getName();
-    }
-
-    /**
-     * Method cleanup.
-     */
-    public void cleanup() {
-    }
-
-    /**
-     * Method getParameter.
-     *
-     * @param name
-     * @return Returns parameter.
-     */
-    public Parameter getParameter(String name) {
-        return handlerDesc.getParameter(name);
-    }
-
-    /**
-     * Method init.
-     *
-     * @param handlerdesc
-     */
-    public void init(HandlerDescription handlerdesc) {
-        this.handlerDesc = handlerdesc;
-    }
-
-    /**
-     * Gets the handler description.
-     *
-     * @return Returns handler description.
-     */
-    public HandlerDescription getHandlerDesc() {
-        return handlerDesc;
-    }
-
-    /* (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
-    public String toString() {
-        String name = this.getName();
-        return (name != null) ? name : "";
-    }
-
-
-    public Object getProperty(Object msgContext, String axisKey) {
-
-        int repetition = getCurrentRepetition(msgContext);
-
-        String key = Axis2Util.getKey(axisKey, inHandler, repetition);
-        Object property = ((MessageContext) msgContext).getProperty(key);
-        if (property == null) {
-            //Try the description hierarchy
-            Parameter parameter = ((MessageContext) msgContext).getParameter(key);
-            if (parameter != null) {
-                property = parameter.getValue();
-            }
-        }
-        return property;
-    }
-
-    /**
-     * Returns the repetition number from the message context
-     *
-     * @param msgContext
-     * @return Returns int.
-     */
-    protected int getCurrentRepetition(Object msgContext) {
-        //get the repetition from the message context
-        int repetition = 0;
-        if (!inHandler) {//We only need to repeat the out handler
-            Integer count = (Integer) ((MessageContext) msgContext).getProperty(WSSHandlerConstants.CURRENT_REPETITON);
-            if (count != null) { //When we are repeating the handler
-                repetition = count.intValue();
-            }
-        }
-        return repetition;
-    }
-
-    public String getPassword(Object msgContext) {
-        return (String) ((MessageContext) msgContext).getProperty(WSS_PASSWORD);
-    }
-
-    public void setPassword(Object msgContext, String password) {
-        ((MessageContext) msgContext).setProperty(WSS_PASSWORD, password);
-    }
-
-    public String getUsername(Object msgContext) {
-        return (String) ((MessageContext) msgContext).getProperty(WSS_USERNAME);
-    }
-
-    public void setUsername(Object msgContext, String username) {
-        ((MessageContext) msgContext).setProperty(WSS_USERNAME, username);
-    }
-
-    /**
-     * Gets option. Extracts the configuration values from the service.xml
-     * and/or axis2.xml. Values set in the service.xml takes priority over
-     * values of the axis2.xml
-     */
-    public Object getOption(String axisKey) {
-        Parameter parameter = this.handlerDesc.getParameter(axisKey);
-        return (parameter == null) ? null : parameter.getValue();
-    }
-
-    public void setProperty(Object msgContext, String key, Object value) {
-        ((MessageContext) msgContext).setProperty(key, value);
-    }
-
-    /**
-     * Overrides the class loader used to load the PW callback class.
-     *
-     * @param msgCtx MessageContext
-     * @return Returns class loader.
-     */
-    public java.lang.ClassLoader getClassLoader(Object msgCtx) {
-        try {
-            return ((MessageContext) msgCtx).getAxisService().getClassLoader();
-        } catch (Throwable t) {
-            return super.getClassLoader(msgCtx);
-        }
-    }
-}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllReceiver.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllReceiver.java
deleted file mode 100644
index 86280a4..0000000
--- a/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllReceiver.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPHeader;
-import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.rampart.RampartConstants;
-import org.apache.rampart.util.Axis2Util;
-import org.apache.rampart.util.HandlerParameterDecoder;
-import org.apache.rampart.util.RampartUtil;
-import org.apache.ws.security.*;
-import org.apache.ws.security.handler.RequestData;
-import org.apache.ws.security.handler.WSHandlerConstants;
-import org.apache.ws.security.handler.WSHandlerResult;
-import org.apache.ws.security.message.token.Timestamp;
-import org.apache.ws.security.util.WSSecurityUtil;
-import org.w3c.dom.Document;
-
-import javax.security.auth.callback.CallbackHandler;
-import javax.xml.namespace.QName;
-
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @deprecated
- */
-public class WSDoAllReceiver extends WSDoAllHandler {
-
-    private static final Log log = LogFactory.getLog(WSDoAllReceiver.class);
-    private static Log mlog = LogFactory.getLog(RampartConstants.MESSAGE_LOG);
-
-    public WSDoAllReceiver() {
-        super();
-        inHandler = true;
-    }
-
-    public void processMessage(MessageContext msgContext) throws AxisFault {
-    	
-    	if(mlog.isDebugEnabled()){
-        	mlog.debug("*********************** WSDoAllReceiver recieved \n"+msgContext.getEnvelope());
-        }
-    	
-        boolean doDebug = log.isDebugEnabled();
-
-        if (doDebug) {
-            log.debug("WSDoAllReceiver: enter invoke() ");
-        }
-
-        String useDoomValue = (String) getProperty(msgContext,
-                WSSHandlerConstants.USE_DOOM);
-        boolean useDoom = useDoomValue != null
-                && Constants.VALUE_TRUE.equalsIgnoreCase(useDoomValue);
-
-        RequestData reqData = new RequestData();
-        try {
-
-            this.processBasic(msgContext, useDoom, reqData);
-        } catch (AxisFault axisFault) {
-            setAddressingInformationOnFault(msgContext);
-            throw axisFault;
-        } catch (Exception e) {
-            setAddressingInformationOnFault(msgContext);
-            throw new AxisFault(e.getMessage(), e);
-        } finally {
-
-            if (reqData != null) {
-                reqData.clear();
-                reqData = null;
-            }
-
-            if (doDebug) {
-                log.debug("WSDoAllReceiver: exit invoke()");
-            }
-        }
-
-    }
-
-    private void processBasic(MessageContext msgContext, boolean useDoom, RequestData reqData)
-            throws Exception {
-
-        // populate the properties
-        try {
-            HandlerParameterDecoder.processParameters(msgContext, true);
-        } catch (Exception e) {
-            throw new AxisFault("Configuration error", e);
-        }
-
-        // Retrieves signature crypto and set it to decryption crypto
-        RampartUtil.setDecryptionCrypto(msgContext);
-
-        reqData.setMsgContext(msgContext);
-
-        if (((getOption(WSSHandlerConstants.INFLOW_SECURITY)) == null) &&
-            ((getProperty(msgContext, WSSHandlerConstants.INFLOW_SECURITY)) == null)) {
-            
-            if (msgContext.isServerSide() && 
-                ((getOption(WSSHandlerConstants.INFLOW_SECURITY_SERVER)) == null) &&
-                ((getProperty(msgContext, WSSHandlerConstants.INFLOW_SECURITY_SERVER)) == null)) {
-            
-                return;
-            } else if (((getOption(WSSHandlerConstants.INFLOW_SECURITY_CLIENT)) == null) &&
-                    ((getProperty(msgContext, WSSHandlerConstants.INFLOW_SECURITY_CLIENT)) == null))  {
-                
-                return;
-            }
-        }
-        
-        List<java.lang.Integer> actions = new ArrayList<Integer>();
-        String action = null;
-        if ((action = (String) getOption(WSSHandlerConstants.ACTION_ITEMS)) == null) {
-            action = (String) getProperty(msgContext,
-                    WSSHandlerConstants.ACTION_ITEMS);
-        }
-        if (action == null) {
-            throw new AxisFault("WSDoAllReceiver: No action items defined");
-        }
-        int doAction = WSSecurityUtil.decodeAction(action, actions);
-
-        if (doAction == WSConstants.NO_SECURITY) {
-            return;
-        }
-
-        String actor = (String) getOption(WSHandlerConstants.ACTOR);
-
-        Document doc = null;
-
-        try {
-            doc = Axis2Util.getDocumentFromSOAPEnvelope(msgContext
-                    .getEnvelope(), useDoom);
-        } catch (WSSecurityException wssEx) {
-            throw new AxisFault(
-                    "WSDoAllReceiver: Error in converting to Document", wssEx);
-        }
-
-        // Do not process faults
-        SOAPConstants soapConstants = WSSecurityUtil.getSOAPConstants(doc
-                .getDocumentElement());
-        if (WSSecurityUtil.findElement(doc.getDocumentElement(), "Fault",
-                soapConstants.getEnvelopeURI()) != null) {
-            return;
-        }
-
-        /*
-         * To check a UsernameToken or to decrypt an encrypted message we need a
-         * password.
-         */
-        CallbackHandler cbHandler = null;
-        if ((doAction & (WSConstants.ENCR | WSConstants.UT)) != 0) {
-            cbHandler = getPasswordCallbackHandler(reqData);
-        }
-
-        // Copy the WSHandlerConstants.SEND_SIGV over to the new message
-        // context - if it exists, if signatureConfirmation in the response msg
-        String sigConfEnabled = null;
-        if ((sigConfEnabled = (String) getOption(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION)) == null) {
-            sigConfEnabled = (String) getProperty(msgContext,
-                    WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION);
-        }
-
-        // To handle sign confirmation of a sync response
-        // TODO Async response
-        if (!msgContext.isServerSide()
-                && !"false".equalsIgnoreCase(sigConfEnabled)) {
-            OperationContext opCtx = msgContext.getOperationContext();
-            MessageContext outMsgCtx = opCtx
-                    .getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
-            if (outMsgCtx != null) {
-                msgContext.setProperty(WSHandlerConstants.SEND_SIGV, outMsgCtx
-                        .getProperty(WSHandlerConstants.SEND_SIGV));
-            } else {
-                throw new WSSecurityException(
-                        "Cannot obtain request message context");
-            }
-        }
-
-        /*
-         * Get and check the Signature specific parameters first because they
-         * may be used for encryption too.
-         */
-
-        doReceiverAction(doAction, reqData);
-
-        List<WSSecurityEngineResult> wsResult = null;
-        try {
-            wsResult = secEngine.processSecurityHeader(doc, actor, cbHandler,
-                    reqData.getSigCrypto(), reqData.getDecCrypto());
-        } catch (WSSecurityException ex) {
-            throw new AxisFault("WSDoAllReceiver: security processing failed",
-                    ex);
-        }
-        if (wsResult == null) { // no security header found
-            if (doAction == WSConstants.NO_SECURITY) {
-                return;
-            } else {
-                throw new AxisFault(
-                        "WSDoAllReceiver: Incoming message does not contain required Security header");
-            }
-        }
-
-        if (reqData.getWssConfig().isEnableSignatureConfirmation()
-                && !msgContext.isServerSide()) {
-            checkSignatureConfirmation(reqData, wsResult);
-        }
-
-        /**
-         * Set the new SOAPEnvelope
-         */
-
-        msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOMDocument(doc, useDoom));
-
-        /*
-         * After setting the new current message, probably modified because of
-         * decryption, we need to locate the security header. That is, we force
-         * Axis (with getSOAPEnvelope()) to parse the string, build the new
-         * header. Then we examine, look up the security header and set the
-         * header as processed.
-         * 
-         * Please note: find all header elements that contain the same actor
-         * that was given to processSecurityHeader(). Then check if there is a
-         * security header with this actor.
-         */
-        SOAPHeader header = null;
-        try {
-            header = msgContext.getEnvelope().getHeader();
-        } catch (OMException ex) {
-            throw new AxisFault(
-                    "WSDoAllReceiver: cannot get SOAP header after security processing",
-                    ex);
-        }
-
-        Iterator headers = header.examineHeaderBlocks(actor);
-
-        SOAPHeaderBlock headerBlock = null;
-
-        while (headers.hasNext()) { // Find the wsse header
-            SOAPHeaderBlock hb = (SOAPHeaderBlock) headers.next();
-            if (hb.getLocalName().equals(WSConstants.WSSE_LN)
-                    && hb.getNamespace().getNamespaceURI().equals(WSConstants.WSSE_NS)) {
-                headerBlock = hb;
-                break;
-            }
-        }
-
-        if(headerBlock != null) {
-            headerBlock.setProcessed();
-        }
-
-        /*
-         * Now we can check the certificate used to sign the message. In the
-         * following implementation the certificate is only trusted if either it
-         * itself or the certificate of the issuer is installed in the keystore.
-         * 
-         * Note: the method verifyTrust(X509Certificate) allows custom
-         * implementations with other validation algorithms for subclasses.
-         */
-
-        // Extract the signature action result from the action list
-        WSSecurityEngineResult actionResult = WSSecurityUtil.fetchActionResult(
-                wsResult, WSConstants.SIGN);
-
-        if (actionResult != null) {
-            X509Certificate returnCert = (X509Certificate)actionResult.get(WSSecurityEngineResult.TAG_X509_CERTIFICATE);
-
-            if (returnCert != null) {
-                CertificateValidator certificateValidator = new CertificateValidator();
-
-                if (!certificateValidator.validateCertificate(returnCert, reqData.getSigCrypto())) {
-                    throw new AxisFault(
-                            "WSDoAllReceiver: The certificate used for the signature is not trusted");
-                }
-            }
-        }
-
-        /*
-         * Perform further checks on the timestamp that was transmitted in the
-         * header. In the following implementation the timestamp is valid if it
-         * was created after (now-ttl), where ttl is set on server side, not by
-         * the client.
-         * 
-         * Note: the method verifyTimestamp(Timestamp) allows custom
-         * implementations with other validation algorithms for subclasses.
-         */
-
-        // Extract the timestamp action result from the action list
-        actionResult = WSSecurityUtil.fetchActionResult(wsResult,
-                WSConstants.TS);
-
-        if (actionResult != null) {
-            Timestamp timestamp = (Timestamp)actionResult.get(WSSecurityEngineResult.TAG_TIMESTAMP);
-
-            if (timestamp != null) {
-                String ttl = null;
-                if ((ttl = (String) getOption(WSHandlerConstants.TTL_TIMESTAMP)) == null) {
-                    ttl = (String) getProperty(msgContext,
-                            WSHandlerConstants.TTL_TIMESTAMP);
-                }
-                int ttl_i = 0;
-                if (ttl != null) {
-                    try {
-                        ttl_i = Integer.parseInt(ttl);
-                    } catch (NumberFormatException e) {
-                        ttl_i = reqData.getTimeToLive();
-                    }
-                }
-                if (ttl_i <= 0) {
-                    ttl_i = reqData.getTimeToLive();
-                }
-
-                // TODO configure future time to live
-                if (!timestamp.verifyCreated(ttl_i, 60)) {
-                    throw new AxisFault(
-                            "WSDoAllReceiver: The timestamp could not be validated");
-                }
-            }
-        }
-
-        /*
-         * now check the security actions: do they match, in right order?
-         */
-        if (!checkReceiverResults(wsResult, actions)) {
-            throw new AxisFault(
-                    "WSDoAllReceiver: security processing failed (actions mismatch)");
-
-        }
-        /*
-         * All ok up to this point. Now construct and setup the security result
-         * structure. The service may fetch this and check it. Also the
-         * DoAllSender will use this in certain situations such as:
-         * USE_REQ_SIG_CERT to encrypt
-         */
-        List<WSHandlerResult> results = null;
-        if ((results = (List<WSHandlerResult>) getProperty(msgContext,
-                WSHandlerConstants.RECV_RESULTS)) == null) {
-            results = new ArrayList<WSHandlerResult>();
-            msgContext.setProperty(WSHandlerConstants.RECV_RESULTS, results);
-        }
-        WSHandlerResult rResult = new WSHandlerResult(actor, wsResult);
-        results.add(0, rResult);
-    }
-
-    private void setAddressingInformationOnFault(MessageContext msgContext) {
-        SOAPEnvelope env = msgContext.getEnvelope();
-        SOAPHeader header = env.getHeader();
-
-        if (header != null) {
-            OMElement msgIdElem = header.getFirstChildWithName(new QName(
-                    AddressingConstants.Final.WSA_NAMESPACE,
-                    AddressingConstants.WSA_MESSAGE_ID));
-            if (msgIdElem == null) {
-                msgIdElem = header.getFirstChildWithName(new QName(
-                        AddressingConstants.Submission.WSA_NAMESPACE,
-                        AddressingConstants.WSA_MESSAGE_ID));
-            }
-            if (msgIdElem != null && msgIdElem.getText() != null) {
-                msgContext.getOptions().setMessageId(msgIdElem.getText());
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllSender.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllSender.java
deleted file mode 100644
index 28e57d5..0000000
--- a/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSDoAllSender.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler;
-
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.rampart.RampartConstants;
-import org.apache.rampart.util.Axis2Util;
-import org.apache.rampart.util.HandlerParameterDecoder;
-import org.apache.rampart.util.MessageOptimizer;
-import org.apache.rampart.util.RampartUtil;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.WSSecurityException;
-import org.apache.ws.security.handler.RequestData;
-import org.apache.ws.security.handler.WSHandlerConstants;
-import org.apache.ws.security.util.WSSecurityUtil;
-import org.w3c.dom.Document;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @deprecated
- */
-public class WSDoAllSender extends WSDoAllHandler {
-    
-    private static final Log log = LogFactory.getLog(WSDoAllSender.class);
-    private static Log mlog = LogFactory.getLog(RampartConstants.MESSAGE_LOG);
-
-    // TODO can we get rid of this ?
-    private static final String SND_SECURITY = "SND_SECURITY";
-    
-    
-    public WSDoAllSender() {
-        super();
-        inHandler = false;
-    }
-
-
-      
-    public void processMessage(MessageContext msgContext) throws AxisFault {
-        
-              String useDoomValue = (String) getProperty(msgContext,
-                WSSHandlerConstants.USE_DOOM);
-        boolean useDoom = useDoomValue != null
-                && Constants.VALUE_TRUE.equalsIgnoreCase(useDoomValue);
-
-        RequestData reqData = new RequestData();
-
-        try {
-            //If the msgs are msgs to an STS then use basic WS-Sec
-            processBasic(msgContext, useDoom, reqData);
-            
-        } catch (Exception e) {
-            throw new AxisFault(e.getMessage(), e);
-        }
-        finally {
-            if(reqData != null) {
-                reqData.clear();
-                reqData = null;
-            }
-        }  
-        
-        if(mlog.isDebugEnabled()){
-        	mlog.debug("*********************** WSDoAllSender sent out \n"+msgContext.getEnvelope());
-        }
-    }
-    
-    /**
-     * This will carryout the WS-Security related operations.
-     * 
-     * @param msgContext
-     * @param useDoom
-     * @throws WSSecurityException
-     * @throws AxisFault
-     */
-    private void processBasic(MessageContext msgContext, boolean useDoom,
-            RequestData reqData) throws WSSecurityException, AxisFault {
-        boolean doDebug = log.isDebugEnabled();
-        
-        try {
-            HandlerParameterDecoder.processParameters(msgContext,false);
-        } catch (Exception e) {
-            throw new AxisFault("Configureation error", e);
-        }
-
-        // If encryption crypto is not already set use signatureCrypto as encryption crypto.
-        RampartUtil.setEncryptionCrypto(msgContext);
-        
-        if (doDebug) {
-            log.debug("WSDoAllSender: enter invoke()");
-        }
-        
-        /*
-         * Copy the RECV_RESULTS over to the current message context
-         * - IF available 
-         */
-        OperationContext opCtx = msgContext.getOperationContext();
-        MessageContext inMsgCtx;
-        if(opCtx != null && 
-                (inMsgCtx = opCtx.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE)) != null) {
-            msgContext.setProperty(WSHandlerConstants.RECV_RESULTS, 
-                    inMsgCtx.getProperty(WSHandlerConstants.RECV_RESULTS));
-        }
-        
-        
-        
-        reqData.setNoSerialization(false);
-        reqData.setMsgContext(msgContext);
-        
-        if (((getOption(WSSHandlerConstants.OUTFLOW_SECURITY)) == null) &&
-                ((getProperty(msgContext, WSSHandlerConstants.OUTFLOW_SECURITY)) == null)) {
-                
-                if (msgContext.isServerSide() && 
-                    ((getOption(WSSHandlerConstants.OUTFLOW_SECURITY_SERVER)) == null) &&
-                    ((getProperty(msgContext, WSSHandlerConstants.OUTFLOW_SECURITY_SERVER)) == null)) {
-                
-                    return;
-                } else if (((getOption(WSSHandlerConstants.OUTFLOW_SECURITY_CLIENT)) == null) &&
-                        ((getProperty(msgContext, WSSHandlerConstants.OUTFLOW_SECURITY_CLIENT)) == null))  {
-                    
-                    return;
-                }
-            }
-        
-        List<Integer> actions = new ArrayList<Integer>();
-        String action = null;
-        if ((action = (String) getOption(WSSHandlerConstants.ACTION_ITEMS)) == null) {
-            action = (String) getProperty(msgContext, WSSHandlerConstants.ACTION_ITEMS);
-        }
-        if (action == null) {
-            throw new AxisFault("WSDoAllReceiver: No action items defined");
-        }
-        
-        int doAction = WSSecurityUtil.decodeAction(action, actions);
-        if (doAction == WSConstants.NO_SECURITY) {
-            return;
-        }
-        
-        /*
-         * For every action we need a username, so get this now. The
-         * username defined in the deployment descriptor takes precedence.
-         */
-        reqData.setUsername((String) getOption(WSHandlerConstants.USER));
-        if (reqData.getUsername() == null || reqData.getUsername().length() == 0) {
-            String username = (String) getProperty(reqData.getMsgContext(), WSHandlerConstants.USER);
-            if (username != null) {
-                reqData.setUsername(username);
-            }
-        }
-        
-        /*
-         * Now we perform some set-up for UsernameToken and Signature
-         * functions. No need to do it for encryption only. Check if
-         * username is available and then get a passowrd.
-         */
-        if ((doAction & (WSConstants.SIGN | WSConstants.UT | WSConstants.UT_SIGN)) != 0) {
-            /*
-             * We need a username - if none throw an AxisFault. For
-             * encryption there is a specific parameter to get a username.
-             */
-            if (reqData.getUsername() == null
-                    || reqData.getUsername().length() == 0) {
-                throw new AxisFault(
-                "WSDoAllSender: Empty username for specified action");
-            }
-        }
-        
-        /*
-         * Now get the SOAPEvelope from the message context and convert it
-         * into a Document
-         * 
-         * Now we can perform our security operations on this request.
-         */
-        
-        
-        Document doc = null;
-        /*
-         * If the message context property conatins a document then this is
-         * a chained handler.
-         */
-        if ((doc = (Document) ((MessageContext)reqData.getMsgContext())
-                .getProperty(SND_SECURITY)) == null) {
-            try {
-                doc = Axis2Util.getDocumentFromSOAPEnvelope(msgContext.getEnvelope(), useDoom);
-            } catch (WSSecurityException wssEx) {
-                throw new AxisFault("WSDoAllReceiver: Error in converting to Document", wssEx);
-            }
-        }
-
-
-        doSenderAction(doAction, doc, reqData, actions, !msgContext.isServerSide());
-        
-        /*
-         * If noSerialization is false, this handler shall be the last (or
-         * only) one in a handler chain. If noSerialization is true, just
-         * set the processed Document in the transfer property. The next
-         * Axis WSS4J handler takes it and performs additional security
-         * processing steps.
-         *
-         */
-        if (reqData.isNoSerialization()) {
-            ((MessageContext)reqData.getMsgContext()).setProperty(SND_SECURITY,
-                    doc);
-        } else {
-            if(useDoom) {
-                msgContext.setEnvelope((SOAPEnvelope)doc.getDocumentElement());
-            } else {
-                msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOMDocument(doc, useDoom));
-            }
-            ((MessageContext)reqData.getMsgContext()).setProperty(SND_SECURITY, null);
-        }
-        
-
-        /**
-         * If the optimizeParts parts are set then optimize them
-         */
-        String optimizeParts;
-        
-        if((optimizeParts = (String) getOption(WSSHandlerConstants.OPTIMIZE_PARTS)) == null) {
-            optimizeParts = (String)
-            getProperty(reqData.getMsgContext(), WSSHandlerConstants.OPTIMIZE_PARTS);
-        }
-        if(optimizeParts != null) {
-            // Optimize the Envelope
-            MessageOptimizer.optimize(msgContext.getEnvelope(),optimizeParts);
-        }
-        
-        //Enable handler repetition
-        Integer repeat;
-        int repeatCount;
-        if ((repeat = (Integer)getOption(WSSHandlerConstants.SENDER_REPEAT_COUNT)) == null) {
-            repeat = (Integer)
-            getProperty(reqData.getMsgContext(), WSSHandlerConstants.SENDER_REPEAT_COUNT);
-        }
-        
-        repeatCount = repeat.intValue();
-        
-        //Get the current repetition from message context
-        int repetition = this.getCurrentRepetition(msgContext);
-        
-        if(repeatCount > 0 && repetition < repeatCount) {
-            
-            reqData.clear();
-            reqData = null;
-            
-            // Increment the repetition to indicate the next repetition
-            // of the same handler
-            repetition++;
-            msgContext.setProperty(WSSHandlerConstants.CURRENT_REPETITON,
-                    Integer.valueOf(repetition));
-            
-            this.invoke(msgContext);
-        }
-        
-        if (doDebug) {
-            log.debug("WSDoAllSender: exit invoke()");
-        }
-    }
-    
-}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/config/InflowConfiguration.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/config/InflowConfiguration.java
deleted file mode 100644
index 147c114..0000000
--- a/modules/rampart-core/src/main/java/org/apache/rampart/handler/config/InflowConfiguration.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler.config;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axis2.description.Parameter;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-/**
- * This is the representation of the inflow configurations of the security
- * module.
- * 
- * @deprecated
- */
-public class InflowConfiguration {
-	
-	private HashMap action = new HashMap();
-	
-	/**
-	 * Returns the configuration as an OMElement.
-	 * @return Returns Parameter.
-	 */
-	public Parameter getProperty() {
-        
-        if (! action.containsKey("items")) {
-            return null;
-        }
-                
-		OMFactory fac = OMAbstractFactory.getOMFactory();
-        //TODO: Find the constants for "Parameter" and "name"
-        OMElement paramElement = fac.createOMElement("Parameter",null);
-        paramElement.addAttribute(fac.createOMAttribute("name", null ,WSSHandlerConstants.INFLOW_SECURITY));
-		
-		OMElement actionElem = fac.createOMElement(
-				WSSHandlerConstants.ACTION, null);
-		
-		// Get the set of kes of the selected action
-		Iterator keys = action.keySet().iterator();
-
-		while (keys.hasNext()) {
-			String key = (String) keys.next();
-            String value = (String) action.get(key);
-            if(value != null && value.length() > 0) {
-                // Create an element with the name of the key
-    			OMElement elem = fac.createOMElement(key, null);
-    			// Set the text value of the element
-                elem.setText(value);
-    			// Add the element as a child of this action element
-    			actionElem.addChild(elem);
-            }
-		}
-		
-		paramElement.addChild(actionElem);
-		
-		Parameter param = new Parameter();
-		param.setParameterElement(paramElement);
-        param.setValue(paramElement);
-        param.setName(WSSHandlerConstants.INFLOW_SECURITY);
-		
-		return param;
-	}
-
-	/**
-	 * Returns the action items.
-	 * @return Returns String.
-	 */
-	public String getActionItems() {
-		return (String)this.action.get(WSSHandlerConstants.ACTION_ITEMS);
-	}
-
-	/**
-	 * Sets the action items.
-	 * @param actionItems
-	 */
-	public void setActionItems(String actionItems) {
-		this.action.put(WSSHandlerConstants.ACTION_ITEMS, actionItems);
-	}
-
-	/**
-	 * Returns the decryption property file.
-	 * @return Returns String.
-	 */
-	public String getDecryptionPropFile() {
-		return (String)this.action.get(WSHandlerConstants.DEC_PROP_FILE);
-	}
-
-	/**
-	 * Sets the decryption property file.
-	 * @param decryptionPropFile
-	 */
-	public void setDecryptionPropFile(String decryptionPropFile) {
-		this.action.put(WSHandlerConstants.DEC_PROP_FILE,decryptionPropFile);
-	}
-    
-    /**
-     * Sets the decryption property ref key.
-     * @param decryptionPropRefKey
-     */
-    public void setDecryptionPropRefKey(String decryptionPropRefKey) {
-        this.action.put(WSHandlerConstants.DEC_PROP_REF_ID,decryptionPropRefKey);
-    }
-
-	/**
-	 * Returns the password callback class name.
-	 * @return Returns String.
-	 */
-	public String getPasswordCallbackClass() {
-		return (String)this.action.get(WSHandlerConstants.PW_CALLBACK_CLASS);
-	}
-
-	/**
-	 * Sets the password callback class name.
-	 * @param passwordCallbackClass
-	 */
-	public void setPasswordCallbackClass(String passwordCallbackClass) {
-		this.action.put(WSHandlerConstants.PW_CALLBACK_CLASS,passwordCallbackClass);
-	}
-
-	/**
-	 * Returns the signature property file.
-	 * @return Returns String.
-	 */
-	public String getSignaturePropFile() {
-		return (String)this.action.get(WSHandlerConstants.SIG_PROP_FILE);
-	}
-
-	/**
-	 * Sets the signature property file.
-	 * @param signaturePropFile
-	 */
-	public void setSignaturePropFile(String signaturePropFile) {
-		this.action.put(WSHandlerConstants.SIG_PROP_FILE, signaturePropFile);
-	}
-    
-    /**
-     * Sets the signature property ref key.
-     * @param signaturePropRefId
-     */
-    public void setSignaturePropRefId(String signaturePropRefId) {
-        this.action.put(WSHandlerConstants.SIG_PROP_REF_ID, signaturePropRefId);
-    }
-	
-	/**
-	 * Sets whether signature confirmation should be enabled or not.
-	 * @param value
-	 */
-	public void setEnableSignatureConfirmation(boolean value) {
-		this.action.put(
-				WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION, value?"true":"false");
-	}
-	
-	/**
-	 * Returns whether signature confirmation should be enabled or not.
-	 * @return Returns String.
-	 */
-	public String getEnableSignatureConfirmation() {
-		return (String) this.action
-				.get(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION);
-	}
-
-     /**
-     * This will set whether request or response evaluation should adhere to "Basic Security Profile"
-     * @param value true if evaluation should adhere to "Basic Security Profile" else false. Default is true.
-     */
-	public void setBSPCompliant(boolean value) {
-		this.action.put(
-				WSHandlerConstants.IS_BSP_COMPLIANT, value?"true":"false");
-	}
-
-
-    /**
-     * Gets whether security processing is configured to handle BSP compliant manner.
-     * "true" or "false"
-     * @return Returns "true" or "false".
-     */
-	public String getBSPCompliant() {
-		return (String) this.action
-				.get(WSHandlerConstants.IS_BSP_COMPLIANT);
-	}
-
-    
-}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/handler/config/OutflowConfiguration.java b/modules/rampart-core/src/main/java/org/apache/rampart/handler/config/OutflowConfiguration.java
deleted file mode 100644
index 12d41cd..0000000
--- a/modules/rampart-core/src/main/java/org/apache/rampart/handler/config/OutflowConfiguration.java
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler.config;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axis2.description.Parameter;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-/**
- * This is the representation of the outflow configurations of the security
- * module.
- * 
- * @deprecated
- */
-public class OutflowConfiguration {
-
-	private HashMap[] actionList;
-
-	private int currentAction = 0;
-
-	/**
-	 * Creates a default outflow configuration instance with an action.
-	 */
-	public OutflowConfiguration() {
-		this.actionList = new HashMap[1];
-		this.actionList[0] = new HashMap();
-	}
-
-	/**
-	 * Creates a new outflow configuration instance with the given number of
-	 * actions.
-	 * 
-	 * @param actionCount
-	 */
-	public OutflowConfiguration(int actionCount) {
-		this.actionList = new HashMap[actionCount];
-		for (int i = 0; i < actionCount; i++) {
-			this.actionList[i] = new HashMap();
-		}
-	}
-
-	/**
-	 * Returns the configuration as an Parameter
-	 * 
-	 * @return Returns Parameter.
-	 */
-	public Parameter getProperty() {
-		
-
-        for (int i = 0; i < actionList.length; i++) {
-            HashMap action = actionList[i];
-            
-            if (! action.keySet().contains("items")) {
-                return null;
-            }
-        }
-                
-		OMFactory fac = OMAbstractFactory.getOMFactory();
-        //TODO: Find the constants for "Parameter" and "name"
-        OMElement paramElement = fac.createOMElement("Parameter",null);
-		paramElement.addAttribute(fac.createOMAttribute("name", null ,WSSHandlerConstants.OUTFLOW_SECURITY));
-
-		
-		for (int i = 0; i < this.actionList.length; i++) {
-			// Create the action element
-			OMElement actionElem = fac.createOMElement(
-					WSSHandlerConstants.ACTION, null);
-
-			// Get the current action
-			HashMap action = this.actionList[i];
-
-			// Get the set of kes of the selected action
-			Iterator keys = action.keySet().iterator();
-
-			while (keys.hasNext()) {
-				String key = (String) keys.next();
-                String value = (String) action.get(key);
-                if(value != null && value.length() > 0) {
-                    // Create an element with the name of the key
-    				OMElement elem = fac.createOMElement(key, null);
-    				// Set the text value of the element
-                    elem.setText(value);
-    				// Add the element as a child of this action element
-    				actionElem.addChild(elem);
-                }
-			}
-			
-			paramElement.addChild(actionElem);
-		}
-		
-		Parameter param = new Parameter();
-		param.setParameterElement(paramElement);
-        param.setValue(paramElement);
-        param.setName(WSSHandlerConstants.OUTFLOW_SECURITY);
-		return param;
-	}
-
-	/**
-	 * Moves to the next action. If this is called when the current action is the
-	 * last action then the current action will not change.
-	 * 
-	 * @throws Exception
-	 */
-	public void nextAction() {
-		if (currentAction < this.actionList.length - 1) {
-			this.currentAction++;
-		}
-	}
-
-	/**
-	 * Moves to previous action. If this is called when the current action is the
-	 * first option then then the current action will not change.
-	 * 
-	 * @throws Exception
-	 */
-	public void previousAction() {
-		if (this.currentAction > 0) {
-			this.currentAction--;
-		}
-	}
-
-	/**
-	 * Sets the action items.
-	 * 
-	 * @param actionItems
-	 */
-	public void setActionItems(String actionItems) {
-		this.actionList[this.currentAction].put(
-				WSSHandlerConstants.ACTION_ITEMS, actionItems);
-	}
-
-	/**
-	 * Returns the action items.
-	 * @return Returns String.
-	 */
-	public String getActionItems() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSSHandlerConstants.ACTION_ITEMS);
-	}
-	
-	/**
-	 * Sets the user of the current action.
-	 * 
-	 * @param user
-	 */
-	public void setUser(String user) {
-		this.actionList[this.currentAction].put(WSHandlerConstants.USER, user);
-	}
-
-	/**
-	 * Returns the user of the current action.
-	 * @return Returns String.
-	 */
-	public String getUser() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.USER);
-	}
-	
-	/**
-	 * Sets the name of the password callback class of the current action.
-	 * 
-	 * @param passwordCallbackClass
-	 */
-	public void setPasswordCallbackClass(String passwordCallbackClass) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.PW_CALLBACK_CLASS, passwordCallbackClass);
-	}
-
-	/**
-	 * Returns the name of the password callback class of the current action.
-	 * @return Returns String.
-	 */
-	public String getPasswordCallbackClass() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.PW_CALLBACK_CLASS);
-	}
-	
-	/**
-	 * Sets the signature property file of the current action.
-	 * 
-	 * @param signaturePropFile
-	 */
-	public void setSignaturePropFile(String signaturePropFile) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.SIG_PROP_FILE, signaturePropFile);
-	}
-
-    /**
-     * Sets the signature property ref key of the current action.
-     * 
-     * @param signaturePropRefId
-     */
-    public void setSignaturePropRefId(String signaturePropRefId) {
-        this.actionList[this.currentAction].put(
-                WSHandlerConstants.SIG_PROP_REF_ID, signaturePropRefId);
-    }
-    
-	/**
-	 * Returns the signature property file of the current action.
-	 * @return Returns String.
-	 */
-	public String getSignaturePropFile() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.SIG_PROP_FILE);
-	}
-	
-	/**
-	 * Sets the signatue key identifier of the current action.
-	 * 
-	 * @param signatureKeyIdentifier
-     * Valid values:
-     * <ul>
-     * <li>X509KeyIdentifier - {@link WSSHandlerConstants#X509_KEY_IDENTIFIER}</li>
-     * <li>SKIKeyIdentifier - {@link WSSHandlerConstants#SKI_KEY_IDENTIFIER}</li>
-     * <li>IssuerSerial - {@link WSSHandlerConstants#ISSUER_SERIAL}</li>
-     * <li>DirectReference - {@link WSSHandlerConstants#BST_DIRECT_REFERENCE}</li>
-     * <li>Thumbprint - {@link WSSHandlerConstants#THUMBPRINT_IDENTIFIER}</li>
-     * </ul> 
-	 */
-	public void setSignatureKeyIdentifier(String signatureKeyIdentifier) {
-		this.actionList[this.currentAction].put(WSHandlerConstants.SIG_KEY_ID,
-				signatureKeyIdentifier);
-	}
-
-	/**
-	 * Returns the signatue key identifier of the current action.
-	 * @return Returns String.
-	 */
-	public String getSignatureKeyIdentifier() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.SIG_KEY_ID);
-	}
-    
-    public void setSignatureAlgorithm(String signatureAlgo) {
-        this.actionList[this.currentAction].put(WSHandlerConstants.SIG_ALGO,
-                signatureAlgo);
-    }
-    
-    public String getSignatureAlgorithm() {
-        return (String) this.actionList[this.currentAction]
-                .get(WSHandlerConstants.SIG_ALGO);
-    }
-	
-	/**
-	 * Sets the encrypted key identifier of the current action.
-     * <br/>
-	 * @param encryptionKeyIdentifier
-     * Valid values:
-     * <ul>
-     * <li>X509KeyIdentifier - {@link WSSHandlerConstants#X509_KEY_IDENTIFIER}</li>
-     * <li>SKIKeyIdentifier - {@link WSSHandlerConstants#SKI_KEY_IDENTIFIER}</li>
-     * <li>IssuerSerial - {@link WSSHandlerConstants#ISSUER_SERIAL}</li>
-     * <li>DirectReference - {@link WSSHandlerConstants#BST_DIRECT_REFERENCE}</li>
-     * <li>EmbeddedKeyName - {@link WSSHandlerConstants#EMBEDDED_KEYNAME}</li>
-     * <li>Thumbprint - {@link WSSHandlerConstants#THUMBPRINT_IDENTIFIER}</li>
-     * </ul> 
-	 */
-	public void setEncryptionKeyIdentifier(String encryptionKeyIdentifier) {
-		this.actionList[this.currentAction].put(WSHandlerConstants.ENC_KEY_ID,
-				encryptionKeyIdentifier);
-	}
-
-	/**
-	 * Returns the encrypted key identifier of the current action.
-	 * @return Returns String.
-	 */
-	public String getEncryptionKeyIdentifier() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENC_KEY_ID);
-	}
-	
-	/**
-	 * Sets the encryption user of the current action.
-	 * 
-	 * @param encryptionUser
-	 */
-	public void setEncryptionUser(String encryptionUser) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENCRYPTION_USER, encryptionUser);
-	}
-
-	/**
-	 * Returns the encryption user of the current action.
-	 * @return Returns String.
-	 */
-	public String getEncryptionUser() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENCRYPTION_USER);
-	}
-	
-	/**
-	 * Sets the signature parts of the current action.
-	 * 
-	 * @param signatureParts
-	 */
-	public void setSignatureParts(String signatureParts) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.SIGNATURE_PARTS, signatureParts);
-	}
-	
-	/**
-	 * Returns the signature parts of the current action.
-	 * @return Returns String.
-	 */
-	public String getSignatureParts() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.SIGNATURE_PARTS);
-	}
-
-	/**
-	 * Sets the encryption parts of the current action.
-	 * 
-	 * @param encryptionParts
-	 */
-	public void setEncryptionParts(String encryptionParts) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENCRYPTION_PARTS, encryptionParts);
-	}
-	
-	/**
-	 * Returns the encryption parts of the current action.
-	 * @return Returns String.
-	 */
-	public String getEncryptionParts() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENCRYPTION_PARTS);
-	}	
-
-	/**
-	 * Sets the password type of the current action
-	 * 
-	 * @param passwordType
-	 */
-	public void setPasswordType(String passwordType) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.PASSWORD_TYPE, passwordType);
-	}
-
-	/**
-	 * Returns the password type of the current action.
-	 * @return Returns String.
-	 */
-	public String getPasswordType() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.PASSWORD_TYPE);
-	}
-	
-	/**
-	 * Sets the encryption symmetric algorithm of the current action
-	 * 
-	 * @param encryptionSymAlgorithm
-	 */
-	public void setEncryptionSymAlgorithm(String encryptionSymAlgorithm) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENC_SYM_ALGO, encryptionSymAlgorithm);
-	}
-
-	/**
-	 * Returns the encryption symmetric algorithm of the current action.
-	 * @return Returns String.
-	 */
-	public String getEncryptionSymAlgorithm() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENC_SYM_ALGO);
-	}
-	
-	/**
-	 * Sets the encryption key transport algorithm of the current action
-	 * 
-	 * @param encryptionKeyTransportAlgorithm
-	 */
-	public void setEncryptionKeyTransportAlgorithm(
-			String encryptionKeyTransportAlgorithm) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENC_KEY_TRANSPORT,
-				encryptionKeyTransportAlgorithm);
-	}
-
-	/**
-	 * Returns the encryption key transport algorithm of the current action.
-	 * @return Returns String.
-	 */
-	public String getEncryptionKeyTransportAlgorithm() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENC_KEY_TRANSPORT);
-	}
-
-	/**
-	 * Sets the embedded key callback class of the current action
-	 * 
-	 * @param embeddedKeyCallbackClass
-	 */
-	public void setEmbeddedKeyCallbackClass(String embeddedKeyCallbackClass) {
-		this.actionList[this.currentAction]
-				.put(WSHandlerConstants.ENC_CALLBACK_CLASS,
-						embeddedKeyCallbackClass);
-	}
-
-	/**
-	 * Returns the embedded key callback class of the current action.
-	 * 
-	 * @return Returns String.
-	 */
-	public String getEmbeddedKeyCallbackClass() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENC_CALLBACK_CLASS);
-	}
-
-	/**
-	 * Sets the XPath expression to selecte the elements with content of the
-	 * current action to be MTOM optimized.
-	 * 
-	 * @param optimizePartsXPathExpr
-	 */
-	public void setOptimizeParts(String optimizePartsXPathExpr) {
-		this.actionList[this.currentAction].put(
-				WSSHandlerConstants.OPTIMIZE_PARTS, optimizePartsXPathExpr);
-	}
-
-	/**
-	 * Returns the Path expression to selecte the elements with content of the
-	 * current action to be MTOM optimized.
-	 * 
-	 * @return Returns String.
-	 */
-	public String getOptimizeParts() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSSHandlerConstants.OPTIMIZE_PARTS);
-	}
-	
-	/**
-	 * Sets the SAML property file of the current action.
-	 * @param samlPropFile
-	 */
-	public void setSamlPropFile(String samlPropFile) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.SAML_PROP_FILE, samlPropFile);
-	}
-	
-	/**
-	 * Returns the SAML property file of the current action.
-	 * @return Returns String.
-	 */
-	public String getSamlPropFile() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.SAML_PROP_FILE);
-	}
-	
-	/**
-	 * Sets the encryption property file.
-	 * @param encPropFile
-	 */
-	public void setEncryptionPropFile(String encPropFile) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENC_PROP_FILE, encPropFile);
-	}
-	
-    /**
-     * Sets the encryption property ref key of the current action.
-     * 
-     * @param encryptionPropRefId
-     */
-    public void setEncryptionPropRefId(String encryptionPropRefId) {
-        this.actionList[this.currentAction].put(
-                WSHandlerConstants.ENC_PROP_REF_ID, encryptionPropRefId);
-    }
-    
-	/**
-	 * Returns the encryption property file. 
-	 * @return Returns String.
-	 */
-	public String getEncryptionPropFile() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENC_PROP_FILE);
-	}
-
-    /**
-     * Enable/Disable PrecisionInMilliseconds
-     * @param value
-     */
-    public void setPrecisionInMilliseconds(boolean value) {
-        this.actionList[this.currentAction].put(
-                WSHandlerConstants.TIMESTAMP_PRECISION, value?"true":"false");
-    }
-    
-    /**
-     * Returns whether PrecisionInMilliseconds is enabled or not
-     * @return Returns String.
-     */
-    public String getPrecisionInMilliseconds() {
-        return (String) this.actionList[this.currentAction]
-                .get(WSHandlerConstants.TIMESTAMP_PRECISION);
-    }
-    
-	/**
-	 * Option to add additional elements in the username token element.
-	 * Example: Nonce and Create elements
-	 * @param addUTElements
-	 */
-	public void setAddUTElements(String addUTElements) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ADD_UT_ELEMENTS, addUTElements);
-	}
-	
-	/**
-	 * Returns the additional elements to be added to the username token element.
-	 */
-	public String getAddUTElements() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ADD_UT_ELEMENTS);
-	}
-	
-	/**
-	 * Sets the text of the key name that needs to be sent.
-	 * @param embeddedKeyName
-	 */
-	public void setEmbeddedKeyName(String embeddedKeyName) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENC_KEY_NAME, embeddedKeyName);
-	}
-	
-	/**
-	 * Returns the text of the key name that needs to be sent.
-	 * @return Returns String.
-	 */
-	public String getEmbeddedKeyName() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENC_KEY_NAME);
-	}
-	
-	/**
-	 * Sets whether signature confirmation should be enabled or not.
-	 * @param value
-	 */
-	public void setEnableSignatureConfirmation(boolean value) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION, value?"true":"false");
-	}
-	
-	/**
-	 * Returns whether signature confirmation should be enabled or not
-	 * @return Returns String.
-	 */
-	public String getEnableSignatureConfirmation() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION);
-	}
-	
-	/**
-	 * Sets whether signature confirmation should be enabled or not
-	 * @param value
-	 */
-	public void setPreserveOriginalEnvelope(boolean value) {
-		this.actionList[this.currentAction].put(
-				WSSHandlerConstants.PRESERVE_ORIGINAL_ENV, value?"true":"false");
-	}
-	
-	/**
-	 * Returns whether signature confirmation should be enabled or not.
-	 * @return Returns String.
-	 */
-	public String getPreserveOriginalEnvelope() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSSHandlerConstants.PRESERVE_ORIGINAL_ENV);
-	}
-
-    /**
-     * This will set whether request or response evaluation should adhere to "Basic Security Profile"
-     * @param value true if evaluation should adhere to "Basic Security Profile" else false. Default is true.
-     */
-	public void setBSPCompliant(boolean value) {
-		this.actionList[this.currentAction].put(
-				WSHandlerConstants.IS_BSP_COMPLIANT, value?"true":"false");
-	}
-
-
-    /**
-     * Gets whether security processing is configured to handle BSP compliant manner.
-     * "true" or "false"
-     * @return Returns "true" or "false".
-     */
-	public String getBSPCompliant() {
-		return (String) this.actionList[this.currentAction]
-				.get(WSHandlerConstants.IS_BSP_COMPLIANT);
-	}
-
-    
-    
-    public void setSignAllHeadersAndBody() {
-        this.actionList[this.currentAction].put(WSSHandlerConstants.SIGN_ALL_HEADERS, "true");
-        this.setSignBody();
-    }
-    
-    public void setSignBody() {
-        this.actionList[this.currentAction].put(WSSHandlerConstants.SIGN_BODY, "true");
-    }
-    
-    public void setEncryptBody() {
-        this.actionList[this.currentAction].put(WSSHandlerConstants.ENCRYPT_BODY, "true");
-    }
-}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
index fe7412f..0639d81 100755
--- a/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java
@@ -36,7 +36,6 @@
 import org.apache.ws.secpolicy.model.SupportingToken;
 import org.apache.ws.secpolicy.model.SymmetricAsymmetricBindingBase;
 import org.apache.ws.secpolicy.model.SymmetricBinding;
-import org.apache.ws.secpolicy.model.TokenWrapper;
 import org.apache.ws.secpolicy.model.TransportBinding;
 import org.apache.ws.secpolicy.model.TransportToken;
 import org.apache.ws.secpolicy.model.Trust10;
@@ -65,15 +64,15 @@
      * 
      * @param topLevelAssertions
      *            The iterator of the top level policy assertions
-     * @return The compile Poilcy data block.
+     * @return The compile Policy data block.
      * @throws WSSPolicyException
      */
-    public static RampartPolicyData build(List topLevelAssertions)
+    public static RampartPolicyData build(List<Assertion> topLevelAssertions)
             throws WSSPolicyException {
         
         RampartPolicyData rpd = new RampartPolicyData();
         
-        for (Iterator iter = topLevelAssertions.iterator(); iter.hasNext();) {
+        for (Iterator<Assertion> iter = topLevelAssertions.iterator(); iter.hasNext();) {
             Assertion assertion = (Assertion) iter.next();
             if (assertion instanceof Binding) {
 
@@ -228,14 +227,14 @@
      */
     private static void processSignedEncryptedElements(
             SignedEncryptedElements see, RampartPolicyData rpd) {
-        Iterator it = see.getXPathExpressions().iterator();
+        Iterator<String> it = see.getXPathExpressions().iterator();
         if (see.isSignedElemets()) {
             while (it.hasNext()) {
-                rpd.setSignedElements((String) it.next());
+                rpd.setSignedElements(it.next());
             }
         } else {
             while (it.hasNext()) {
-                rpd.setEncryptedElements((String) it.next());
+                rpd.setEncryptedElements(it.next());
             }
         }
         rpd.addDeclaredNamespaces(see.getDeclaredNamespaces());
@@ -251,7 +250,7 @@
      */
     private static void processSignedEncryptedParts(SignedEncryptedParts sep,
             RampartPolicyData rpd) {
-        Iterator it = sep.getHeaders().iterator();
+        Iterator<Header> it = sep.getHeaders().iterator();
         if (sep.isSignedParts()) {
             rpd.setSignBody(sep.isBody());
             rpd.setSignAttachments(sep.isAttachments());
@@ -259,7 +258,7 @@
            	rpd.setSignBodyOptional(sep.isOptional());
            	rpd.setSignAttachmentsOptional(sep.isOptional());
             while (it.hasNext()) {
-                Header header = (Header) it.next();
+                Header header = it.next();
                 rpd.addSignedPart(header.getNamespace(), header.getName());
             }
         } else {
@@ -268,7 +267,7 @@
             rpd.setEncryptBodyOptional(sep.isOptional());
            	rpd.setEncryptAttachmentsOptional(sep.isOptional());
             while (it.hasNext()) {
-                Header header = (Header) it.next();
+                Header header = it.next();
                 rpd.setEncryptedParts(header.getNamespace(), header.getName(),"Header");
             }
         }
@@ -277,9 +276,9 @@
     private static void processContentEncryptedElements(ContentEncryptedElements cee,
             RampartPolicyData rpd) {
         
-        Iterator it = cee.getXPathExpressions().iterator();     
+        Iterator<String> it = cee.getXPathExpressions().iterator();     
         while (it.hasNext()) {
-            rpd.setContentEncryptedElements((String) it.next());
+            rpd.setContentEncryptedElements(it.next());
         }
         rpd.addDeclaredNamespaces(cee.getDeclaredNamespaces());
     }
@@ -287,9 +286,9 @@
     private static void processRequiredElements(RequiredElements req,
             RampartPolicyData rpd) {
         
-        Iterator it = req.getXPathExpressions().iterator();     
+        Iterator<String> it = req.getXPathExpressions().iterator();     
         while (it.hasNext()) {
-            rpd.setRequiredElements((String) it.next());
+            rpd.setRequiredElements(it.next());
         }
         rpd.addDeclaredNamespaces(req.getDeclaredNamespaces());
     }
@@ -363,14 +362,14 @@
      */
     private static void asymmetricBinding(AsymmetricBinding binding,
             RampartPolicyData rpd) throws WSSPolicyException {
-        TokenWrapper tokWrapper = binding.getRecipientToken();
-        TokenWrapper tokWrapper1 = binding.getInitiatorToken();
-        if (tokWrapper == null || tokWrapper1 == null) {
+    	RecipientToken rt = binding.getRecipientToken();
+    	InitiatorToken it = binding.getInitiatorToken();
+        if (rt == null || it == null) {
             throw new WSSPolicyException("Asymmetric binding should have both Initiator and " +
             		                                                "Recipient tokens defined");
         }
-        rpd.setRecipientToken(((RecipientToken) tokWrapper).getReceipientToken());
-        rpd.setInitiatorToken(((InitiatorToken) tokWrapper1).getInitiatorToken());
+        rpd.setRecipientToken(rt.getReceipientToken());
+        rpd.setInitiatorToken(it.getInitiatorToken());
     }
 
     private static void processSupportingTokens(SupportingToken token,
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
index 0281dd1..f67a56d 100755
--- a/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
@@ -35,7 +35,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Vector;
 
 public class RampartPolicyData {
 
@@ -126,8 +125,7 @@
     
     private List<String> contentEncryptedElements = new ArrayList<String>();
 
-    //TODO make this strongly type attribute
-    private HashMap declaredNamespaces = new HashMap();
+    private HashMap<String, String> declaredNamespaces = new HashMap<String, String>();
 
     /*
      * Holds the supporting tokens elements
@@ -528,11 +526,11 @@
         return signedParts;
     }
     
-    public HashMap getDeclaredNamespaces() {
+    public HashMap<String, String> getDeclaredNamespaces() {
         return declaredNamespaces;
     }
     
-    public void addDeclaredNamespaces(HashMap namespaces) {
+    public void addDeclaredNamespaces(HashMap<String, String> namespaces) {
         declaredNamespaces.putAll(namespaces);
     }
 
@@ -900,7 +898,7 @@
             
         case SPConstants.SUPPORTING_TOKEN_SIGNED_ENDORSING:
             if(this.signedEndorsingSupportingTokensIdMap == null) {
-                this.signedEndorsingSupportingTokensIdMap = new HashMap();
+                this.signedEndorsingSupportingTokensIdMap = new HashMap<Token,String>();
             }
             return null;
 
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/SupportingPolicyData.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/SupportingPolicyData.java
index 92d86be..02418eb 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/policy/SupportingPolicyData.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/SupportingPolicyData.java
@@ -1,53 +1,62 @@
-package org.apache.rampart.policy;
+/*
+ * 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.
+ */
 
-import java.util.Iterator;
+package org.apache.rampart.policy;
 
 import org.apache.ws.secpolicy.model.Header;
 import org.apache.ws.secpolicy.model.SupportingToken;
 
 public class SupportingPolicyData extends RampartPolicyData {
 
-	public void build(SupportingToken token) {
+    public void build(SupportingToken token) {
 
-		if (token.getSignedParts() != null && !token.getSignedParts().isOptional()) {
-			Iterator it = token.getSignedParts().getHeaders().iterator();
-			this.setSignBody(token.getSignedParts().isBody());
-			while (it.hasNext()) {
-				Header header = (Header) it.next();
-				this.addSignedPart(header.getNamespace(), header.getName());
-			}
-		}
+        if (token.getSignedParts() != null && !token.getSignedParts().isOptional()) {
+            this.setSignBody(token.getSignedParts().isBody());
+            for (Header header : token.getSignedParts().getHeaders()) {
+                this.addSignedPart(header.getNamespace(), header.getName());
+            }
+        }
 
-		if (token.getEncryptedParts() != null && !token.getEncryptedParts().isOptional()) {
-			Iterator it = token.getEncryptedParts().getHeaders().iterator();
-			this.setEncryptBody(token.getEncryptedParts().isBody());
-			while (it.hasNext()) {
-				Header header = (Header) it.next();
-				this.setEncryptedParts(header.getNamespace(), header.getName(),
-						"Header");
-			}
-		}
+        if (token.getEncryptedParts() != null && !token.getEncryptedParts().isOptional()) {
+            this.setEncryptBody(token.getEncryptedParts().isBody());
+            for (Header header : token.getEncryptedParts().getHeaders()) {
+                this.setEncryptedParts(header.getNamespace(), header.getName(),
+                        "Header");
+            }
+        }
 
-		if (token.getSignedElements() != null && !token.getSignedElements().isOptional()) {
-			Iterator it = token.getSignedElements().getXPathExpressions()
-					.iterator();
-			while (it.hasNext()) {
-				this.setSignedElements((String) it.next());
-			}
-			this.addDeclaredNamespaces(token.getSignedElements()
-					.getDeclaredNamespaces());
-		}
+        if (token.getSignedElements() != null && !token.getSignedElements().isOptional()) {
+            for (String xpath : token.getSignedElements().getXPathExpressions()) {
+                this.setSignedElements(xpath);
+            }
+            this.addDeclaredNamespaces(token.getSignedElements()
+                    .getDeclaredNamespaces());
+        }
 
-		if (token.getEncryptedElements() != null && !token.getEncryptedElements().isOptional()) {
-			Iterator it = token.getEncryptedElements().getXPathExpressions()
-					.iterator();
-			while (it.hasNext()) {
-				this.setEncryptedElements((String) it.next());
-			}
-			if (token.getSignedElements() == null) {
-				this.addDeclaredNamespaces(token.getEncryptedElements()
-						.getDeclaredNamespaces());
-			}
-		}
-	}
+        if (token.getEncryptedElements() != null && !token.getEncryptedElements().isOptional()) {
+            for (String xpath : token.getEncryptedElements().getXPathExpressions()) {
+                this.setEncryptedElements(xpath);
+            }
+            if (token.getSignedElements() == null) {
+                this.addDeclaredNamespaces(token.getEncryptedElements()
+                        .getDeclaredNamespaces());
+            }
+        }
+    }
 }
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/KerberosConfigBuilder.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/KerberosConfigBuilder.java
new file mode 100644
index 0000000..05a3b63
--- /dev/null
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/KerberosConfigBuilder.java
@@ -0,0 +1,100 @@
+/*
+ * 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.rampart.policy.builders;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.rampart.policy.model.KerberosConfig;
+import org.apache.rampart.policy.model.RampartConfig;
+
+/**
+ * Builder for {@link KerberosConfig} assertion.
+ */
+public class KerberosConfigBuilder implements AssertionBuilder<OMElement> {
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) 
+        throws IllegalArgumentException {
+
+        KerberosConfig kerberosConfig = new KerberosConfig();
+
+        OMElement childElement;
+
+        childElement = element.getFirstChildWithName(
+              new QName(RampartConfig.NS, KerberosConfig.JAAS_CONTEXT_LN));
+        if (childElement != null) {
+            if (null == kerberosConfig.getJaasContext()) {
+                kerberosConfig.setJaasContext(childElement.getText().trim());
+            }
+        }
+
+        childElement = element.getFirstChildWithName(
+              new QName(RampartConfig.NS, KerberosConfig.PRINCIPAL_NAME_LN));
+        if (childElement != null) {
+            if (null == kerberosConfig.getPrincipalName()) {
+                kerberosConfig.setPrincipalName(childElement.getText().trim());
+            }
+        }
+
+        childElement = element.getFirstChildWithName(
+            new QName(RampartConfig.NS, KerberosConfig.PRINCIPAL_PASSWORD_LN));
+        if (childElement != null) {
+            if (null == kerberosConfig.getPrincipalPassword()) {
+                kerberosConfig.setPrincipalPassword(childElement.getText().trim());
+            }
+        }
+
+        childElement = element.getFirstChildWithName(new QName(RampartConfig.NS,
+            KerberosConfig.SERVICE_PRINCIPAL_NAME_LN));
+        if (childElement != null) {
+            kerberosConfig.setServicePrincipalName(childElement.getText().trim());
+        }
+
+        childElement = element.getFirstChildWithName(new QName(RampartConfig.NS,
+            KerberosConfig.SERVICE_PRINCIPAL_NAME_FORM_LN));
+        if (childElement != null) {
+            kerberosConfig.setServicePrincipalNameForm(
+                 childElement.getText().trim());
+        }
+        
+        childElement = element.getFirstChildWithName(new QName(RampartConfig.NS,
+            KerberosConfig.KERBEROS_TOKEN_DECODER_CLASS_LN));
+        if (childElement != null) {
+            kerberosConfig.setKerberosTokenDecoderClass(
+                 childElement.getText().trim());
+        }
+        
+        childElement = element.getFirstChildWithName(new QName(
+            RampartConfig.NS, KerberosConfig.REQUEST_CREDENTIAL_DELEGATION_LN));
+        if (childElement != null) {
+            kerberosConfig.setRequstCredentialDelegation(Boolean.valueOf(childElement.getText().trim()));
+        }    
+
+        return kerberosConfig;
+    }
+
+    public QName[] getKnownElements() {
+        return new QName[] {
+            new QName(RampartConfig.NS, KerberosConfig.KERBEROS_LN) 
+        };
+    }
+}
+
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
index d111fbd..edce4cd 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
@@ -22,6 +22,7 @@
 import org.apache.neethi.AssertionBuilderFactory;
 import org.apache.neethi.builders.AssertionBuilder;
 import org.apache.rampart.policy.model.CryptoConfig;
+import org.apache.rampart.policy.model.KerberosConfig;
 import org.apache.rampart.policy.model.OptimizePartsConfig;
 import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.rampart.policy.model.SSLConfig;
@@ -89,6 +90,16 @@
         }
         
         childElement = element.getFirstChildWithName(new QName(
+                RampartConfig.NS, RampartConfig.KERBEROS_CONFIG));
+        if (childElement != null) {                             
+            KerberosConfig kerberosConfig = (KerberosConfig)new KerberosConfigBuilder().
+                                      build(childElement, 
+                                      factory);
+            rampartConfig.setKerberosConfig(kerberosConfig);
+            
+        }
+        
+        childElement = element.getFirstChildWithName(new QName(
                 RampartConfig.NS, RampartConfig.SIG_CRYPTO_LN));
         if (childElement != null) {
             rampartConfig.setSigCryptoConfig((CryptoConfig) factory
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/KerberosConfig.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/KerberosConfig.java
new file mode 100644
index 0000000..2d13f97
--- /dev/null
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/KerberosConfig.java
@@ -0,0 +1,361 @@
+/*
+ * 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.rampart.policy.model;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.neethi.Assertion;
+import org.apache.neethi.Constants;
+import org.apache.neethi.PolicyComponent;
+import org.apache.rampart.RampartException;
+import org.ietf.jgss.GSSCredential;
+
+/**
+ * Container for Kerberos configuration options.
+ */
+public class KerberosConfig implements Assertion {
+
+    public final static String KERBEROS_LN = RampartConfig.KERBEROS_CONFIG;
+
+    public final static String JAAS_CONTEXT_LN = "jaasContext";
+
+    public final static String PRINCIPAL_NAME_LN = "principalName";
+
+    public final static String PRINCIPAL_PASSWORD_LN = "principalPassword";
+
+    public final static String SERVICE_PRINCIPAL_NAME_LN = "servicePrincipalName";
+
+    public final static String SERVICE_PRINCIPAL_NAME_FORM_LN = "servicePrincipalNameForm";
+
+    public final static String KERBEROS_TOKEN_DECODER_CLASS_LN = "kerberosTokenDecoderClass";
+    
+    public final static String REQUEST_CREDENTIAL_DELEGATION_LN  = "requestCredentialDelegation";
+    
+    public final static String DELEGATION_CREDENTIAL_LN = "delegationCredential";
+
+    /**
+     * Specifies that the service principal name should be interpreted as a 
+     * "host-based" name as specified in GSS API RFC, 
+     * section "4.1: Host-Based Service Name Form". 
+     * See <a href="http://www.ietf.org/rfc/rfc2743.txt">rfc2743 - GSS
+     * API, Version 2</a>.
+     */
+    public final static String HOST_BASED_NAME_FORM = "hostbased";
+
+    /**
+     * Specifies that the service principal name should be interpreted as a   
+     * "username" name as specified in GSS API RFC,
+     * section "4.2: User Name Form". 
+     * See <a href="http://www.ietf.org/rfc/rfc2743.txt">rfc2743 - GSS API, Version
+     * 2</a>.
+     */
+    public final static String USERNAME_NAME_FORM = "username";
+
+    private String jaasContext;
+
+    private String principalName;
+
+    private String principalPassword;
+
+    private String servicePrincipalName;
+
+    private String servicePrincipalNameForm;
+
+    private String kerberosTokenDecoderClass;
+    
+    private boolean requstCredentialDelegation;
+    
+    private GSSCredential delegationCredential;
+    
+    /**
+     * @return The JAAS context name to use to obtain a TGT (Ticket granting ticket).
+     */
+    public String getJaasContext() {
+        return jaasContext;
+    }
+
+    /**
+     * Sets the JAAS context name to use to obtain a TGT (Ticket granting ticket).
+     * @param jaasContext the jaasContext to set
+     */
+    public void setJaasContext(String jaasContext) {
+        this.jaasContext = jaasContext;
+    }
+
+    /**
+     * @return The principal name to use to obtain a TGT (Ticket granting ticket).
+     * This is usually the domain username.
+     * If not specified, Rampart will fall back to the Rampart configuration's 
+     * {@link RampartConfig#getUser() user}.
+     * Note that the principal name specified in JAAS configuration takes precedence
+     * over any principal name configured here.
+     */
+    public String getPrincipalName() {
+        return principalName;
+    }
+
+    /**
+     * Sets the principal name to use to obtain a TGT (Ticket granting ticket). 
+     * This is usually the domain username. If* not specified, Rampart will fall back 
+     * to the Rampart configuration's {@link RampartConfig#getUser() user}. 
+     * Note that the principal name specified in JAAS configuration takes precedence 
+     * over any principal name configured via this method.
+     * @param principalName the principalName to set
+     */
+    public void setPrincipalName(String principalName) {
+        this.principalName = principalName;
+    }
+
+    /**
+     * @return Returns the principal's clear-text password. If the password is not
+     * configured (null), Rampart will try to obtain it from any configured 
+     * {@link RampartConfig#getPwCbClass() password callback}. Note that any 
+     * principal password configured here will be ignored if the JAAS configuration 
+     * configures usage of a keytab file.
+     */
+    public String getPrincipalPassword() {
+        return principalPassword;
+    }
+
+    /**
+     * Sets the principal's clear-text password. If the password is not configured
+     * (null), Rampart will try to obtain it from any configured 
+     * {@link RampartConfig#getPwCbClass() password callback}. Note that any 
+     * principal password configured here will be ignored if the JAAS configuration 
+     * configures usage of a keytab file.
+     */
+    public void setPrincipalPassword(String principalPassword) {
+        this.principalPassword = principalPassword;
+    }
+
+    /**
+     * @return The service principal name to use to obtain a service ticket on the 
+     * client-side. Note that by default,
+     * this name is assumed to be in a {@link #HOST_BASED_NAME_FORM} unless the
+     * {@link #setServicePrincipalNameForm(String) service principal name form} is 
+     * explicitly configured.
+     */
+    public String getServicePrincipalName() {
+        return servicePrincipalName;
+    }
+
+    /**
+     * Sets service principal name to use to obtain a service ticket on the 
+     * client-side. Note that by default, this name is assumed to be in a 
+     * {@link #HOST_BASED_NAME_FORM} unless the 
+     * {@link #setServicePrincipalNameForm(String)
+     * service principal name form} is explicitly configured.
+     */
+    public void setServicePrincipalName(String servicePrincipalName) {
+        this.servicePrincipalName = servicePrincipalName;
+    }
+
+    /**
+     * Returns the service principal name form.
+     * @return Either {@value #HOST_BASED_NAME_FORM} or {@value #USERNAME_NAME_FORM}.   
+     * Default is: {@value #HOST_BASED_NAME_FORM}.
+     */
+    public String getServicePrincipalNameForm() {
+        if (servicePrincipalNameForm == null) {
+            return HOST_BASED_NAME_FORM;
+        }
+        return servicePrincipalNameForm;
+    }
+    
+    /**
+     * Configures a Kerberos token decoder implementation for decoding Kerberos v5 tokens on server side.
+     * The decoder will be used only if the Kerberos client/server session key cannot be obtained using Java's {@link com.sun.security.jgss.ExtendedGSSContext} API,
+     * which is normally the case when using Java version older than 1.7.0_b07, 
+     * see <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6710360"> JDK-6710360 : export Kerberos session key to applications</a>.
+     * <p>
+     * The class will be loaded using current service's {@link org.apache.axis2.description.AxisService#getClassLoader() classloader}.
+     * </p>
+     * 
+     * @param kerberosTokenValidatorClass A fully qualifier class name that implements {@link org.apache.ws.security.validate.KerberosTokenValidator}.
+     */
+    public void setKerberosTokenDecoderClass(String kerberosTokenDecoderClass) {
+        this.kerberosTokenDecoderClass = kerberosTokenDecoderClass;
+    }
+    
+    /**
+     * Returns the Kerberos token decoder implementation for decoding Kerberos v5 tokens on server side.
+     * The decoder will be used only if the Kerberos client/server session key cannot be obtained using Java's {@link com.sun.security.jgss.ExtendedGSSContext} API,
+     * which is normally the case when using Java version older than 1.7.0_b07, 
+     * see <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6710360"> JDK-6710360 : export Kerberos session key to applications</a>
+     * 
+     * @return A fully qualifier class name that implements {@link org.apache.ws.security.validate.KerberosTokenValidator} or <code>null</code> if no Kerberos token decoder is configured.
+     */
+    public String getKerberosTokenDecoderClass() {
+        return this.kerberosTokenDecoderClass;
+    }
+
+    /**
+     * Sets the service principal name form.
+     * @param servicePrincipalNameForm The service principal name form to set. 
+     * The given literal must be either {@value #HOST_BASED_NAME_FORM} or 
+     * {@value #USERNAME_NAME_FORM}.
+     * @throws IllegalArgumentException If the given 
+     * <code>servicePrincipalNameForm</code> is not one of:
+     * {@value #HOST_BASED_NAME_FORM} or {@value #USERNAME_NAME_FORM}.
+     */
+    public void setServicePrincipalNameForm(String servicePrincipalNameForm) 
+        throws IllegalArgumentException {
+
+        if (!HOST_BASED_NAME_FORM.equals(servicePrincipalNameForm) &&
+            !USERNAME_NAME_FORM.equals(servicePrincipalNameForm)) {
+            throw new IllegalArgumentException(
+               new RampartException("invalidServicePrincipalNameForm", 
+                                    new String[] {
+                                        servicePrincipalNameForm, 
+                                        HOST_BASED_NAME_FORM, 
+                                        USERNAME_NAME_FORM }));
+        }
+        this.servicePrincipalNameForm = servicePrincipalNameForm;
+    }
+    
+    /**
+     * If Kerberos credential delegation is requested, the initiator's TGT (Ticket granting ticket) is propagated to the receiver
+     * along with the TGS(Ticket granting service).
+     * 
+     * @return true if credential delegation is requested.
+     */
+    public boolean isRequstCredentialDelegation() {
+        return requstCredentialDelegation;
+    }
+
+    /**
+     * Enables Kerberos credential delegation. If credential delegation is requested, the initiator's TGT (Ticket
+     * granting ticket) is propagated to the receiver along with the TGS(Ticket granting service). <br/>
+     * <br/>
+     * 
+     * Enabling delegation requires <b>forwardable=true</b> property to be added to the <b>[libdefaults]</b> section in
+     * the Kerberos setup configuration.KDC should also be explicitly configured to allow delegation as it is considered
+     * a security issue and is disabled by default.
+     * 
+     * @param requstCredentialDelegation if true, credential delegation is requested.
+     */
+    public void setRequstCredentialDelegation(boolean requstCredentialDelegation) {
+        this.requstCredentialDelegation = requstCredentialDelegation;
+    }
+
+    /**
+     * The delegation credential is available when the initiator has explicitly requested delegation through
+     * {@link KerberosConfig#setRequstCredentialDelegation(boolean)} and the receiver has retrieved it and set it
+     * through {@link KerberosConfig#setDelegationCredential(GSSCredential)}.
+     * 
+     * If available, the delegation credential is used by the receiver to obtain a service ticket for another
+     * Kerberos protected WS on behalf of the initiator. The receiver's principal must have explicit privileges to use
+     * the delegated credential(TGT) for retrieval of the service ticket.
+     * 
+     * @return the client's TGT wrapped in {@link GSSCredential}
+     */
+    public GSSCredential getDelegationCredential() {
+        return delegationCredential;
+    }
+
+    /**
+     * Sets the delegation credential to be used by the receiver to obtain a service ticket for another
+     * Kerberos protected WS on behalf of the initiator. The receiver's principal must have explicit privileges to use
+     * the delegated credential(TGT) for retrieval of the service ticket.
+     * 
+     * @param delegationCredential the {@link GSSCredential} to use for obtaining a TGS
+     */
+    public void setDelegationCredential(GSSCredential delegationCredential) {
+        this.delegationCredential = delegationCredential;
+    }
+
+    public PolicyComponent normalize() {
+        throw new UnsupportedOperationException();
+    }
+
+    public QName getName() {
+        return new QName(RampartConfig.NS, KERBEROS_LN);
+    }
+
+    public boolean isOptional() {
+        return true;
+    }
+
+    public boolean isIgnorable() {
+        throw new UnsupportedOperationException();
+    }
+
+    public short getType() {
+        return Constants.TYPE_ASSERTION;
+    }
+
+    public boolean equal(PolicyComponent policyComponent) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void serialize(XMLStreamWriter writer) throws XMLStreamException {
+        String prefix = writer.getPrefix(RampartConfig.NS);
+
+        if (prefix == null) {
+            prefix = RampartConfig.NS;
+            writer.setPrefix(prefix, RampartConfig.NS);
+        }
+
+        if (getJaasContext() != null) {
+            writer.writeStartElement(RampartConfig.NS, JAAS_CONTEXT_LN);
+            writer.writeCharacters(getJaasContext());
+            writer.writeEndElement();
+        }
+
+        if (getPrincipalName() != null) {
+            writer.writeStartElement(RampartConfig.NS, PRINCIPAL_NAME_LN);
+            writer.writeCharacters(getPrincipalName());
+            writer.writeEndElement();
+        }
+
+        if (getPrincipalPassword() != null) {
+            writer.writeStartElement(RampartConfig.NS, PRINCIPAL_PASSWORD_LN);
+            writer.writeCharacters(getPrincipalPassword());
+            writer.writeEndElement();
+        }
+
+        if (getServicePrincipalName() != null) {
+            writer.writeStartElement(RampartConfig.NS, SERVICE_PRINCIPAL_NAME_LN);
+            writer.writeCharacters(getServicePrincipalName());
+            writer.writeEndElement();
+        }
+
+        if (this.servicePrincipalNameForm != null) {
+            writer.writeStartElement(RampartConfig.NS,
+                                     SERVICE_PRINCIPAL_NAME_FORM_LN);
+            writer.writeCharacters(this.servicePrincipalNameForm);
+            writer.writeEndElement();
+        }
+        
+        if (this.kerberosTokenDecoderClass != null) {
+            writer.writeStartElement(RampartConfig.NS,
+                                     KERBEROS_TOKEN_DECODER_CLASS_LN);
+            writer.writeCharacters(this.kerberosTokenDecoderClass);
+            writer.writeEndElement();
+        }
+        
+        if (this.requstCredentialDelegation) {
+            writer.writeStartElement(RampartConfig.NS, REQUEST_CREDENTIAL_DELEGATION_LN);
+            writer.writeCharacters(Boolean.toString(this.requstCredentialDelegation));
+            writer.writeEndElement();
+        }
+    }
+}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java b/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
index 5bfba4f..bdad069 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
@@ -114,6 +114,8 @@
 
     public final static String SSL_CONFIG = "sslConfig";
     
+    public final static String KERBEROS_CONFIG = "kerberosConfig";
+    
     private String user;
     
     private String userCertAlias;
@@ -150,7 +152,17 @@
     private String nonceLifeTime = Integer.toString(DEFAULT_NONCE_LIFE_TIME);
     
     private SSLConfig sslConfig;
+    
+    private KerberosConfig kerberosConfig;
+    
+    public KerberosConfig getKerberosConfig() {
+        return kerberosConfig;
+    }
 
+    public void setKerberosConfig(KerberosConfig kerberosConfig) {
+        this.kerberosConfig = kerberosConfig;
+    }
+    
     /*To set timeStampStrict in WSSConfig through rampartConfig - default value is false*/
     private boolean timeStampStrict = false;
     
@@ -392,6 +404,12 @@
             writer.writeEndElement();
         }
         
+        if (kerberosConfig != null) {
+            writer.writeStartElement(NS, KERBEROS_CONFIG);
+            kerberosConfig.serialize(writer);
+            writer.writeEndElement();
+        }
+        
         writer.writeEndElement();
 
     }
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java b/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
index c76875b..9a1c703 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/util/Axis2Util.java
@@ -20,19 +20,14 @@
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.SOAPModelBuilder;
-import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
 import org.apache.rampart.handler.WSSHandlerConstants;
 import org.apache.ws.security.WSSecurityException;
 import org.apache.xml.security.utils.XMLUtils;
@@ -144,21 +139,9 @@
                     }
                 }
 
-                // Check the namespace and find SOAP version and factory
-                String nsURI = null;
-                OMMetaFactory metaFactory = OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
-                SOAPFactory factory;
-                if (env.getNamespace().getNamespaceURI().equals(
-                        SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
-                    nsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-                    factory = metaFactory.getSOAP11Factory();
-                } else {
-                    nsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-                    factory = metaFactory.getSOAP12Factory();
-                }
-
-                StAXSOAPModelBuilder stAXSOAPModelBuilder = new StAXSOAPModelBuilder(
-                        env.getXMLStreamReader(), factory, nsURI);
+                SOAPModelBuilder stAXSOAPModelBuilder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(
+                        OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM),
+                        env.getXMLStreamReader());
                 SOAPEnvelope envelope = (stAXSOAPModelBuilder)
                         .getSOAPEnvelope();
                 envelope.getParent().build();
@@ -337,7 +320,7 @@
      * @return
      */
     public static OMElement toDOOM(OMFactory factory, OMElement element){
-        StAXOMBuilder builder = new StAXOMBuilder(factory, element.getXMLStreamReader());
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXOMBuilder(factory, element.getXMLStreamReader());
         OMElement elem = builder.getDocumentElement();
         elem.build();
         return elem;
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java b/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java
deleted file mode 100644
index 4deb569..0000000
--- a/modules/rampart-core/src/main/java/org/apache/rampart/util/HandlerParameterDecoder.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.util;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.Parameter;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSSecurityException;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-import javax.xml.namespace.QName;
-
-import java.util.Iterator;
-
-/**
- * This is used to process the security parameters from the configuration files
- * 
- * Example: <code>
- <br>
-
- </code>
- * 
- */
-public class HandlerParameterDecoder {
-
-	/**
-	 * 
-	 * @param msgCtx
-	 * @param inflow
-	 * @throws WSSecurityException
-	 */
-	public static void processParameters(MessageContext msgCtx, boolean inflow)
-			throws Exception {
- 		Parameter inFlowSecParam;
-        	Parameter outFlowSecParam;
-        
-	        if(msgCtx.isServerSide()){
-            		inFlowSecParam = msgCtx.getParameter(WSSHandlerConstants.INFLOW_SECURITY_SERVER);
-            		outFlowSecParam = msgCtx.getParameter(WSSHandlerConstants.OUTFLOW_SECURITY_SERVER);
-       		 }else{
-            		inFlowSecParam = msgCtx.getParameter(WSSHandlerConstants.INFLOW_SECURITY_CLIENT);
-            		outFlowSecParam = msgCtx.getParameter(WSSHandlerConstants.OUTFLOW_SECURITY_CLIENT);
-        	}
-        
-        	//TODO: check whether policy is available 
-        	if(inFlowSecParam == null){
-            		inFlowSecParam = (Parameter)msgCtx.getProperty(WSSHandlerConstants.INFLOW_SECURITY);            
-       		}
-
-       	 	if(outFlowSecParam == null){
-            		outFlowSecParam = (Parameter)msgCtx.getProperty(WSSHandlerConstants.OUTFLOW_SECURITY);            
-       		 }
-		
-		//If the configs are not available in the file
-		if(inFlowSecParam == null) {
-			inFlowSecParam = msgCtx.getParameter(WSSHandlerConstants.INFLOW_SECURITY);
-		}
-		if(outFlowSecParam == null) {
-			outFlowSecParam = msgCtx.getParameter(WSSHandlerConstants.OUTFLOW_SECURITY);
-		}
-
-		int repetitionCount = -1;
-
-		/*
-		 * Populate the inflow parameters
-		 */
-		if (inFlowSecParam != null && inflow) {
-			OMElement inFlowParamElem = inFlowSecParam.getParameterElement();
-
-			OMElement actionElem = inFlowParamElem
-					.getFirstChildWithName(new QName(WSSHandlerConstants.ACTION));
-			if (actionElem == null) {
-				throw new Exception(
-						"Inflow configuration must contain an 'action' "
-								+ "elements the child of 'InflowSecurity' element");
-			}
-
-			Iterator childElements = actionElem.getChildElements();
-			while (childElements.hasNext()) {
-				OMElement element = (OMElement) childElements.next();
-				msgCtx.setProperty(element.getLocalName(), element.getText().trim());
-			}
-
-		}
-
-		/*
-		 * Populate the outflow parameters
-		 */
-		if (outFlowSecParam != null && !inflow) {
-			OMElement outFlowParamElem = outFlowSecParam.getParameterElement();
-			
-			Iterator childElements = outFlowParamElem.getChildElements();
-			while (childElements.hasNext()) {
-				OMElement element = (OMElement) childElements.next();
-				
-				if(!element.getLocalName().equals(WSSHandlerConstants.ACTION)) {
-					throw new Exception(
-							"Alian element '"
-									+ element.getLocalName()
-									+ "' in the 'OutFlowSecurity' element, " 
-									+ "only 'action' elements can be present");
-				}
-				
-                boolean signAllHeaders = false;
-                boolean signBody = false;
-                boolean encryptBody = false;
-                
-                repetitionCount++;
-				Iterator paramElements = element.getChildElements();
-				while (paramElements.hasNext()) {
-					OMElement elem = (OMElement) paramElements.next();
-                    String localName = elem.getLocalName();
-                    String text = elem.getText().trim();
-                    if(localName.equals(WSSHandlerConstants.SIGN_ALL_HEADERS)) {
-                        signAllHeaders = true;
-                    } else if(localName.equals(WSSHandlerConstants.SIGN_BODY)) {
-                        signBody = true;
-                    } else if(localName.equals(WSSHandlerConstants.ENCRYPT_BODY)) {
-                        encryptBody = true;
-                    } else {
-                        msgCtx.setProperty(Axis2Util.getKey(localName,
-							inflow,repetitionCount), text);
-                    }
-				}
-                
-                if(signAllHeaders || signBody || encryptBody) {
-                    handleSignEncrParts(signAllHeaders, signBody, encryptBody,
-                            msgCtx, repetitionCount);
-                }
-                
-				
-			}
-
-			msgCtx.setProperty(WSSHandlerConstants.SENDER_REPEAT_COUNT,
-					Integer.valueOf(repetitionCount));
-		}
-	}
-    
-    public static OutflowConfiguration getOutflowConfiguration(Parameter outflowConfigParam) throws AxisFault {
-        if (outflowConfigParam != null) {
-            OMElement outflowParamElem = outflowConfigParam.getParameterElement();
-
-            OMElement actionElem = outflowParamElem
-                    .getFirstChildWithName(new QName(WSSHandlerConstants.ACTION));
-            if (actionElem == null) {
-                throw new AxisFault(
-                        "Inflow configuration must contain an 'action' "
-                                + "elements the child of 'InflowSecurity' element");
-            }
-
-            OutflowConfiguration outflowConfiguration = new OutflowConfiguration();
-            
-            Iterator childElements = actionElem.getChildElements();
-            while (childElements.hasNext()) {
-                OMElement element = (OMElement) childElements.next();
-                
-                String localName = element.getLocalName();
-                String text = element.getText().trim();
-                if(localName.equals(WSHandlerConstants.PW_CALLBACK_CLASS)) {
-                    outflowConfiguration.setPasswordCallbackClass(text);
-                } else if(localName.equals(WSHandlerConstants.SIG_PROP_FILE)) {
-                    outflowConfiguration.setSignaturePropFile(text);
-                } else if(localName.equals(WSHandlerConstants.ENC_PROP_FILE)) {
-                    outflowConfiguration.setEncryptionPropFile(text);
-                } else if(localName.equals(WSHandlerConstants.ENC_CALLBACK_CLASS)) {
-                    outflowConfiguration.setEmbeddedKeyCallbackClass(text);
-                } else if(localName.equals(WSHandlerConstants.USER)) {
-                    outflowConfiguration.setUser(text);
-                } else if(localName.equals(WSHandlerConstants.ENCRYPTION_USER)) {
-                    outflowConfiguration.setEncryptionUser(text);
-                }
-            }
-            return outflowConfiguration;
-        }
-        return null;
-    }
-    
-    public static InflowConfiguration getInflowConfiguration(Parameter inflowConfigParam) throws AxisFault {
-
-        if (inflowConfigParam != null) {
-            OMElement inFlowParamElem = inflowConfigParam.getParameterElement();
-
-            OMElement actionElem = inFlowParamElem
-                    .getFirstChildWithName(new QName(WSSHandlerConstants.ACTION));
-            if (actionElem == null) {
-                throw new AxisFault(
-                        "Inflow configuration must contain an 'action' "
-                                + "elements the child of 'InflowSecurity' element");
-            }
-
-            InflowConfiguration inflowConfiguration = new InflowConfiguration();
-            
-            Iterator childElements = actionElem.getChildElements();
-            while (childElements.hasNext()) {
-                OMElement element = (OMElement) childElements.next();
-                
-                String localName = element.getLocalName();
-                String text = element.getText().trim();
-                
-                if(localName.equals(WSHandlerConstants.PW_CALLBACK_CLASS)) {
-                    inflowConfiguration.setPasswordCallbackClass(text);
-                } else if(localName.equals(WSHandlerConstants.SIG_PROP_FILE)) {
-                    inflowConfiguration.setSignaturePropFile(text);
-                } else if(localName.equals(WSHandlerConstants.DEC_PROP_FILE)) {
-                    inflowConfiguration.setDecryptionPropFile(text);
-                } else if (WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION
-                        .equals(localName)) {
-                    if ("false".equals(text)
-                            || "0".equals(text)) {
-                        inflowConfiguration
-                                .setEnableSignatureConfirmation(false);
-                    }
-                }
-            }
-            return inflowConfiguration;
-        }
-        return null;
-    }
-
-    private static void handleSignEncrParts(boolean signAllHeaders,
-            boolean signBody, boolean encrBody, MessageContext msgCtx,
-            int repetition) {
-        String soapNs = msgCtx.getEnvelope().getNamespace().getNamespaceURI();
-        if(signBody) {
-            //Add body signPart
-            String sigBodySigPart = "{Element}{" + soapNs + "}Body";
-            addSigPart(sigBodySigPart, msgCtx, repetition);
-        }
-        if(encrBody) {
-            //Encrypt body content
-            String encrBodyEncrPart = "{}{" + soapNs + "}Body";
-            addEncrPart(encrBodyEncrPart, msgCtx, repetition);
-        }
-        if(signAllHeaders) {
-            Iterator children = msgCtx.getEnvelope().getHeader().getChildElements();
-            while (children.hasNext()) {
-                OMElement element = (OMElement) children.next();
-                //Sign only the qualified headers
-                //TODO check whether we can sign the unqualified header elements
-                String ns = element.getNamespace().getNamespaceURI();
-                if(ns != null && ns.length() > 0) {
-                    addSigPart("{Element}{" + ns + "}" + element.getLocalName(),msgCtx, repetition);
-                }
-            }
-        }
-        
-    }
-    
-    private static void addSigPart(String sigPart, MessageContext msgCtx, int repetition) {
-        String key = Axis2Util.getKey(WSHandlerConstants.SIGNATURE_PARTS, false, repetition);
-        String existingSignParts = (String) msgCtx.getProperty(key);
-        if (existingSignParts != null && existingSignParts.length() > 0) {
-            // If the part is not already there as a sign part
-            if (existingSignParts.indexOf(sigPart) != -1) {
-                msgCtx.setProperty(key, existingSignParts + ";" + sigPart);
-            }
-        } else {
-            // If there are no signed parts
-            msgCtx.setProperty(key, sigPart);
-        }
-    }
-    
-    private static void addEncrPart(String encrPart, MessageContext msgCtx, int repetition) {
-        String key = Axis2Util.getKey(WSHandlerConstants.ENCRYPTION_PARTS, false, repetition);
-        String existingEncrParts = (String) msgCtx.getProperty(key);
-        if (existingEncrParts != null && existingEncrParts.length() > 0) {
-            if (existingEncrParts.indexOf(encrPart) != -1) {
-                msgCtx.setProperty(key, existingEncrParts + ";" + encrPart);
-            }
-        } else {
-            msgCtx.setProperty(key, encrPart);
-        }
-    }
-    
-}
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java b/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
index de28171..6035981 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
+++ b/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
@@ -29,6 +29,7 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.dataretrieval.DRConstants;
 import org.apache.axis2.dataretrieval.client.MexClient;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.mex.MexConstants;
 import org.apache.axis2.mex.MexException;
@@ -55,6 +56,7 @@
 import org.apache.rampart.policy.RampartPolicyData;
 import org.apache.rampart.policy.SupportingPolicyData;
 import org.apache.rampart.policy.model.CryptoConfig;
+import org.apache.rampart.policy.model.KerberosConfig;
 import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.ws.secpolicy.SPConstants;
 import org.apache.ws.secpolicy.model.*;
@@ -75,6 +77,7 @@
 import org.apache.ws.security.message.WSSecEncryptedKey;
 import org.apache.ws.security.util.Loader;
 import org.apache.ws.security.util.WSSecurityUtil;
+import org.apache.ws.security.validate.KerberosTokenDecoder;
 import org.apache.xml.security.utils.Constants;
 import org.jaxen.JaxenException;
 import org.jaxen.XPath;
@@ -165,6 +168,64 @@
         return cbHandler;
     }
     
+    /**
+     * Instantiates any Kerberos token decoder implementation configured via {@link KerberosConfig#setKerberosTokenDecoderClass(String)}
+     * using the {@link AxisService#getClassLoader() class loader} of the specified message context's {@link MessageContext#getAxisService() service}.
+     * 
+     * @param msgContext The current message context. Must not be null and must contain a valid service instance.
+     * @param kerberosConfig Rampart's Kerberos configuration.
+     * 
+     * @return A new instance of {@link KerberosTokenDecoder} implementation configured via {@link KerberosConfig#setKerberosTokenDecoderClass(String)} or <code>null</code>
+     * if no Kerberos token decoder is configured.
+     * @throws RampartException If the class cannot be loaded or instantiated.
+     */
+    public static KerberosTokenDecoder getKerberosTokenDecoder(MessageContext msgContext, KerberosConfig kerberosConfig) throws RampartException {
+        if (kerberosConfig == null) {
+            throw new IllegalArgumentException("Kerberos config must not be null");
+        }
+        else if (msgContext == null) {
+            throw new IllegalArgumentException("Message context must not be null");
+        }
+        
+        AxisService service = msgContext.getAxisService();
+        if (service == null) {
+            throw new IllegalArgumentException("No service available in message context: " + msgContext.getLogIDString());
+        }
+        
+        KerberosTokenDecoder kerberosTokenDecoder;
+        
+        String kerberosTokenDecoderClass = kerberosConfig.getKerberosTokenDecoderClass();
+        if (kerberosTokenDecoderClass == null) {
+            if (log.isDebugEnabled()) {
+                log.debug("No Kerberos token decoder class configured for service: " + service.getName());
+            }
+            return null;
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug(String.format("Loading Kerberos token decoder class '%s' using class loader of service '%s'", kerberosTokenDecoderClass, service.getName()));
+        }
+        
+        ClassLoader classLoader = service.getClassLoader();
+        Class krbTokenDecoderClass;
+        try {
+            krbTokenDecoderClass = Loader.loadClass(classLoader, kerberosTokenDecoderClass);
+        } 
+        catch (ClassNotFoundException e) {
+            throw new RampartException("cannotLoadKrbTokenDecoderClass", 
+                    new String[] { kerberosTokenDecoderClass }, e);
+        }
+        
+        try {
+            kerberosTokenDecoder = (KerberosTokenDecoder) krbTokenDecoderClass.newInstance();
+        } catch (java.lang.Exception e) {
+            throw new RampartException("cannotCreateKrbTokenDecoderInstance",
+                    new String[] { kerberosTokenDecoderClass }, e);
+        }
+
+        return kerberosTokenDecoder;
+    }
+    
    /**
     * Returns an instance of PolicyValidatorCallbackHandler to be used to validate ws-security results.
     * 
@@ -1472,7 +1533,12 @@
                 String encrKeyId = (String) wsSecEngineResult.get(WSSecurityEngineResult.TAG_ID);
                 if (actInt == WSConstants.ENCR &&
                         encrKeyId != null) {
-                    return encrKeyId;
+                    if (encrKeyId.length() > 0) {
+                        return encrKeyId;
+                    }
+                    else if (log.isDebugEnabled()) {
+                        log.debug("Found encryption security processing result with empty id, skipping it: " + wsSecEngineResult);
+                    }
                 }
             }
         }
@@ -1924,4 +1990,58 @@
         QName value = code.getValueAsQName();
         return value == null ? false : value.getNamespaceURI().equals(WSConstants.WSSE_NS);
     }
+    
+    /**
+     * @param rpd Rampart policy data instance. Must not be null.
+     * @return A collection of all {@link UsernameToken} supporting token assertions in the specified Rampart policy instance. The method will check the following lists:
+     * <ul>
+     *     <li>{@link RampartPolicyData#getSupportingTokensList()}</li>
+     *     <li>{@link RampartPolicyData#getSignedSupportingTokens()}</li>
+     *     <li>{@link RampartPolicyData#getSignedEndorsingSupportingTokens()}</li>
+     *     <li>{@link RampartPolicyData#getEndorsingSupportingTokens()}</li>
+     *     <li>{@link RampartPolicyData#getEncryptedSupportingTokens()}</li>
+     *     <li>{@link RampartPolicyData#getSignedEncryptedSupportingTokens()}</li>
+     *     <li>{@link RampartPolicyData#getEndorsingEncryptedSupportingTokens()}</li>
+     *     <li>{@link RampartPolicyData#getSignedEndorsingEncryptedSupportingTokens()}</li>
+     * </ul>
+     */
+    public static Collection<UsernameToken> getUsernameTokens(RampartPolicyData rpd) {
+        Collection<UsernameToken> usernameTokens = new ArrayList<UsernameToken>();
+        
+        List<SupportingToken> supportingToks = rpd.getSupportingTokensList();
+        for (SupportingToken suppTok : supportingToks) {
+            usernameTokens.addAll(getUsernameTokens(suppTok));
+        }
+        
+        usernameTokens.addAll(getUsernameTokens(rpd.getSignedSupportingTokens()));
+        usernameTokens.addAll(getUsernameTokens(rpd.getSignedEndorsingSupportingTokens()));
+        usernameTokens.addAll(getUsernameTokens(rpd.getEndorsingSupportingTokens()));
+        usernameTokens.addAll(getUsernameTokens(rpd.getEncryptedSupportingTokens()));
+        usernameTokens.addAll(getUsernameTokens(rpd.getSignedEncryptedSupportingTokens()));
+        usernameTokens.addAll(getUsernameTokens(rpd.getEndorsingEncryptedSupportingTokens()));
+        usernameTokens.addAll(getUsernameTokens(rpd.getSignedEndorsingEncryptedSupportingTokens()));
+
+        return usernameTokens;
+    }
+    
+    /**
+     * @param suppTok The {@link SupportingToken} assertion to check for username tokens.
+     * @return A collection of all tokens in the specified <code>suppTok</code> SupportingToken assertion which are instances of {@link UsernameToken}.
+     * If the specified  <code>suppTok</code> SupportingToken assertion is <code>null</code>, an empty collection will be returned.
+     */
+    public static Collection<UsernameToken> getUsernameTokens(SupportingToken suppTok) {
+        
+        if (suppTok == null) {
+            return new ArrayList<UsernameToken>();
+        }
+        
+        Collection<UsernameToken> usernameTokens = new ArrayList<UsernameToken>();
+        for (org.apache.ws.secpolicy.model.Token token : suppTok.getTokens()) {
+            if (token instanceof UsernameToken) {
+                usernameTokens.add((UsernameToken)token);
+            }
+        }
+        
+        return usernameTokens;
+    }
 }
diff --git a/modules/rampart-core/src/main/java/META-INF/services/org.apache.neethi.builders.AssertionBuilder b/modules/rampart-core/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
similarity index 73%
rename from modules/rampart-core/src/main/java/META-INF/services/org.apache.neethi.builders.AssertionBuilder
rename to modules/rampart-core/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
index 34900b9..a641f80 100644
--- a/modules/rampart-core/src/main/java/META-INF/services/org.apache.neethi.builders.AssertionBuilder
+++ b/modules/rampart-core/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
@@ -1,3 +1,4 @@
 org.apache.rampart.policy.builders.CryptoConfigBuilder
 org.apache.rampart.policy.builders.RampartConfigBuilder
-org.apache.rampart.policy.builders.SSLConfigBuilder
\ No newline at end of file
+org.apache.rampart.policy.builders.SSLConfigBuilder
+org.apache.rampart.policy.builders.KerberosConfigBuilder
\ No newline at end of file
diff --git a/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties b/modules/rampart-core/src/main/resources/org/apache/rampart/errors.properties
similarity index 89%
rename from modules/rampart-core/src/main/java/org/apache/rampart/errors.properties
rename to modules/rampart-core/src/main/resources/org/apache/rampart/errors.properties
index 8e188b1..034b91d 100644
--- a/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties
+++ b/modules/rampart-core/src/main/resources/org/apache/rampart/errors.properties
@@ -36,6 +36,7 @@
 errorInObtainingSct=Error in obtaining SCT from \"{0}\"
 errorInObtainingToken=Error in obtaining a token
 errorInExtractingMsgProps = Error in extracting message properties
+securityPolicyNamespaceCannotBeNull=Security policy namespace cannot be null
 userMissing = No user value in the rampart configuration policy
 cbHandlerMissing = Password CallbackHandler not specified in rampart configuration policy or the CallbackHandler instance not available in the MessageContext
 errorInGettingPasswordForUser = Error in getting password for user : \"{0}\"
@@ -46,6 +47,7 @@
 errorInDerivedKeyTokenSignature = Error in DerivedKeyToken signature
 errorInSignatureWithX509Token = Error in signature with X509Token
 errorInSignatureWithACustomToken = Error in signature with a custom token
+errorInSignatureWithKerberosToken = Error in signature with KerberosToken
 errorCreatingEncryptedKey = Error in creating an encrypted key
 errorGettingSignatureValuesForSigconf = Error in getting signature values for signature confirmation
 cannotLoadPWCBClass = Cannot load password callback class: {0}
@@ -103,4 +105,11 @@
 invalidNonceLifeTime = Invalid value for nonceLifeTime in rampart configuration file.
 invalidIssuerAddress = Invalid value for Issuer
 invalidSignatureAlgo=Invalid signature algorithm for Asymmetric binding
+invalidUsernameTokenType = Invalid UsernameToken Type.
 
+#Rampart Kerberos-specific errors
+invalidServicePrincipalNameForm = Invalid servicePrincipalNameForm found in Rampart configuration ({0}). The supported service principal name forms are: \"{1}\", \"{2}\".
+noKerberosConfigDefined = No kerberosConfig policy assertion defined in rampart config.
+errorInBuildingKereberosToken = Error in building kereberos token.
+cannotLoadKrbTokenDecoderClass = Cannot load Kerberos token decoder class: {0}
+cannotCreateKrbTokenDecoderInstance = Cannot create instance of Kerberos token decoder : {0}
\ No newline at end of file
diff --git a/modules/rampart-core/src/test/java/org/apache/rampart/policy/builders/KerberosConfigBuilderTest.java b/modules/rampart-core/src/test/java/org/apache/rampart/policy/builders/KerberosConfigBuilderTest.java
new file mode 100644
index 0000000..b0addbf
--- /dev/null
+++ b/modules/rampart-core/src/test/java/org/apache/rampart/policy/builders/KerberosConfigBuilderTest.java
@@ -0,0 +1,121 @@
+/*
+ * 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.rampart.policy.builders;
+
+import static com.google.common.truth.Truth.assertAbout;
+import static org.apache.axiom.truth.xml.XMLTruth.xml;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyBuilder;
+import org.apache.rampart.policy.RampartPolicyBuilder;
+import org.apache.rampart.policy.RampartPolicyData;
+import org.apache.rampart.policy.model.KerberosConfig;
+import org.apache.rampart.policy.model.RampartConfig;
+import org.apache.ws.secpolicy.WSSPolicyException;
+
+public class KerberosConfigBuilderTest extends TestCase {
+
+    public static final String KERBEROS_CONFIG_POLICY_FILE = "kerberosConfig.policy";
+    
+    private static final Log log = LogFactory.getLog(KerberosConfigBuilderTest.class);
+    
+    public void testBuildKerberosConfig() throws WSSPolicyException {
+        Policy kerberosConfigPolicy = loadKerberosConfigPolicy();
+        assertNotNull(String.format("Failed to parse policy file: %s", KERBEROS_CONFIG_POLICY_FILE), kerberosConfigPolicy);
+        
+        Iterator<List<Assertion>> iter = kerberosConfigPolicy.getAlternatives();
+         
+        assertTrue(String.format("No policy alternatives found in policy file: %s", KERBEROS_CONFIG_POLICY_FILE), iter.hasNext());
+         
+         //Process policy and build policy data
+        RampartPolicyData policyData = RampartPolicyBuilder.build(iter.next());
+
+        RampartConfig rampartConfig = policyData.getRampartConfig();
+        assertNotNull(String.format("No rampartConfig found in policy file: %s", KERBEROS_CONFIG_POLICY_FILE), rampartConfig);
+        KerberosConfig kerberosConfig = rampartConfig.getKerberosConfig();
+        assertNotNull(String.format("No kerberosConfig found in policy file: %s", KERBEROS_CONFIG_POLICY_FILE), kerberosConfig);
+        
+        assertEquals("Kerberos jaas context name not configured as expected.", "alice", kerberosConfig.getJaasContext());
+        assertEquals("Kerberos principal name not configured as expected.", "alice", kerberosConfig.getPrincipalName());
+        assertEquals("Kerberos principal password not configured as expected.", "changeit", kerberosConfig.getPrincipalPassword());
+        assertEquals("Kerberos service principal name not configured as expected.", "bob/example.com", kerberosConfig.getServicePrincipalName());
+        assertEquals("Kerberos token decoder class not configured as expected.", "org.foo.KerberosTokenDecoderImpl", kerberosConfig.getKerberosTokenDecoderClass());
+        assertTrue("Request for Kerberos credential delegation is expected to be enabled.", kerberosConfig.isRequstCredentialDelegation());
+    }
+
+    public void testSerializeKerberosConfig() throws Exception {
+        Policy kerberosConfigPolicy = loadKerberosConfigPolicy();
+        assertNotNull(String.format("Failed to parse policy file: %s", KERBEROS_CONFIG_POLICY_FILE), kerberosConfigPolicy);
+        
+        //serialize the kerberos config policy
+        StringWriter writer = new StringWriter();
+        XMLStreamWriter streamWriter = null;
+        try {
+            streamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
+            kerberosConfigPolicy.serialize(streamWriter);
+        }
+        finally {
+            if (streamWriter != null) {
+                streamWriter.close();
+            }
+        }
+        
+        assertAbout(xml())
+                .that(writer.toString())
+                .ignoringWhitespace()
+                .hasSameContentAs(KerberosConfigBuilderTest.class.getResource(KERBEROS_CONFIG_POLICY_FILE));
+    }
+
+    private Policy loadKerberosConfigPolicy() {
+        InputStream kerberosConfigStream = null;
+        try {
+            kerberosConfigStream = this.getClass().getResourceAsStream(KERBEROS_CONFIG_POLICY_FILE);
+            PolicyBuilder builder = new PolicyBuilder();
+            return builder.getPolicy(kerberosConfigStream);
+        }
+        finally {
+            closeStream(kerberosConfigStream);
+        }
+    }
+    
+    private void closeStream(InputStream in) {
+        if (in != null) {
+            try {
+                in.close();
+            }
+            catch (IOException e) {
+                log.error("Failed to close input stream.", e);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/modules/rampart-core/src/test/resources/org/apache/rampart/policy/builders/kerberosConfig.policy b/modules/rampart-core/src/test/resources/org/apache/rampart/policy/builders/kerberosConfig.policy
new file mode 100644
index 0000000..f727eb6
--- /dev/null
+++ b/modules/rampart-core/src/test/resources/org/apache/rampart/policy/builders/kerberosConfig.policy
@@ -0,0 +1,22 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <rampart:RampartConfig xmlns:rampart="http://ws.apache.org/rampart/policy">
+                <rampart:timestampPrecisionInMilliseconds>true</rampart:timestampPrecisionInMilliseconds>
+                <rampart:timestampTTL>300</rampart:timestampTTL>
+                <rampart:timestampMaxSkew>300</rampart:timestampMaxSkew>
+                <rampart:timestampStrict>false</rampart:timestampStrict>
+                <rampart:nonceLifeTime>300</rampart:nonceLifeTime>
+                <rampart:kerberosConfig>
+                    <rampart:jaasContext>alice</rampart:jaasContext>
+                    <rampart:principalName>alice</rampart:principalName>
+                    <rampart:principalPassword>changeit</rampart:principalPassword>
+                    <rampart:servicePrincipalName>bob/example.com</rampart:servicePrincipalName>
+                    <rampart:servicePrincipalNameForm>username</rampart:servicePrincipalNameForm>
+                    <rampart:kerberosTokenDecoderClass>org.foo.KerberosTokenDecoderImpl</rampart:kerberosTokenDecoderClass>
+                    <rampart:requestCredentialDelegation>true</rampart:requestCredentialDelegation>
+                </rampart:kerberosConfig>
+            </rampart:RampartConfig>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-integration/pom.xml b/modules/rampart-integration/pom.xml
index 4a0af24..485aa59 100644
--- a/modules/rampart-integration/pom.xml
+++ b/modules/rampart-integration/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -41,41 +41,6 @@
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>copy-mars</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>copy</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.rampart</groupId>
-                                    <artifactId>rampart</artifactId>
-                                    <version>${project.version}</version>
-                                    <type>mar</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>target/artifacts</outputDirectory>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.apache.rampart</groupId>
-                                    <artifactId>rahas</artifactId>
-                                    <version>${project.version}</version>
-                                    <type>mar</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>target/artifacts</outputDirectory>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.apache.axis2</groupId>
-                                    <artifactId>addressing</artifactId>
-                                    <version>${axis2.version}</version>
-                                    <type>mar</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>target/artifacts</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                    <execution>
                         <id>copy-endorsed</id>
                         <phase>process-resources</phase>
                         <goals>
@@ -90,85 +55,120 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>axis2-repo-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>create-test-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart</modules>
+                            <outputDirectory>target/test-classes</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-rampart-client-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart,rahas</modules>
+                            <outputDirectory>target/test-resources/rampart_client_repo</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-rampart-service-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart,rahas</modules>
+                            <axis2xml>src/test/resources/conf/axis2.xml</axis2xml>
+                            <outputDirectory>target/test-resources/rampart_service_repo</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-rahas-client-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart</modules>
+                            <outputDirectory>target/test-resources/rahas_client_repo</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-rahas-service-repo-1</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart,rahas</modules>
+                            <axis2xml>src/test/resources/conf/axis2.xml</axis2xml>
+                            <outputDirectory>target/test-resources/rahas_service_repo_1</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-rahas-service-repo-3</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart,rahas</modules>
+                            <axis2xml>src/test/resources/conf/axis2.xml</axis2xml>
+                            <outputDirectory>target/test-resources/rahas_service_repo_3</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-default-security-client-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart</modules>
+                            <axis2xml>src/test/resources/conf/axis2.xml</axis2xml>
+                            <configurationDirectory>conf</configurationDirectory>
+                            <outputDirectory>target/test-resources/default_security_client_repo</outputDirectory>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>create-rahas-service-repo-5</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <modules>addressing,rampart,rahas</modules>
+                            <axis2xml>src/test/resources/conf/axis2.xml</axis2xml>
+                            <outputDirectory>target/test-resources/rahas_service_repo_5</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.1</version>
                 <executions>
-                    <execution>
-                        <id>generate-source</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <tasks>
-                                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
-                                    <arg line="-uri src/main/resources/ping/ping.wsdl -ss -o target/generated-code -p org.apache.axis2.oasis.ping -d xmlbeans -g" />
-                                    <classpath refid="maven.dependency.classpath" />
-                                    <classpath refid="maven.compile.classpath" />
-                                    <classpath refid="maven.runtime.classpath" />
-                                </java>
-                                <!-- copy the service impl -->
-                                <copy file="src/main/resources/ping/src/org/apache/axis2/oasis/ping/PingPortSkeleton.java" tofile="target/generated-code/src/org/apache/axis2/oasis/ping/PingPortSkeleton.java" overwrite="yes" />
-                                <!-- Password callback class for the interop service -->
-                                <copy file="src/main/resources/ping/src/org/apache/axis2/security/PWCallback.java" tofile="target/generated-code/src/org/apache/axis2/security/PWCallback.java" overwrite="yes" />
-                                <!-- Interop client -->
-                                <copy file="src/main/resources/ping/src/org/apache/axis2/security/InteropScenarioClient.java" tofile="target/generated-code/src/org/apache/axis2/security/InteropScenarioClient.java" overwrite="yes" />
-
-                                <copy todir="target/test-classes">
-                                    <fileset dir="target/generated-code/resources">
-                                        <include name="**/*" />
-                                    </fileset>
-                                </copy>
-
-
-                                <javac srcdir="target/generated-code" destdir="target/classes" fork="true">
-                                    <classpath refid="maven.dependency.classpath" />
-                                    <classpath refid="maven.compile.classpath" />
-                                    <classpath refid="maven.runtime.classpath" />
-                                </javac>
-
-                            </tasks>
-                        </configuration>
-                    </execution>
+                   
                     <execution>
                         <id>create-test-resources</id>
                         <phase>process-test-resources</phase>
                         <configuration>
                             <tasks>
                                 <property name="addressing.mar" value="addressing-${axis2.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-classes/modules/addressing-${axis2.version}.mar" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-classes/modules/rampart-${project.version}.mar" />
 
                                 <mkdir dir="target/temp-ramp" />
                                 <mkdir dir="target/temp-ramp/META-INF" />
 
-                                <copy overwrite="yes" file="target/classes/org/apache/rampart/Service.class" tofile="target/temp-ramp/org/apache/rampart/Service.class" />
-                                <copy overwrite="yes" file="target/classes/org/apache/rampart/PWCallback.class" tofile="target/temp-ramp/org/apache/rampart/PWCallback.class" />
                                 <copy overwrite="yes" file="src/test/resources/rampart/store.jks" tofile="target/temp-ramp/store.jks" />
                                 <!--path id="ramp.client.props" location="test-resources/rampart"/-->
                                 <!--maven:addPath id="maven.dependency.classpath" refid="ramp.client.props" -->
                                 <mkdir dir="target/test-resources/rampart_client_repo" />
                                 <mkdir dir="target/test-resources/rampart_client_repo/conf" />
-                                <mkdir dir="target/test-resources/rampart_client_repo/modules" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/rampart_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/rahas-${project.version}.mar" tofile="target/test-resources/rampart_client_repo/modules/rahas-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/rampart_client_repo/modules/addressing-${axis2.version}.mar" />
                                 <mkdir dir="target/test-resources/rampart_service_repo" />
                                 <mkdir dir="target/test-resources/rampart_service_repo/conf" />
                                 <mkdir dir="target/test-resources/rampart_service_repo/services" />
-                                <mkdir dir="target/test-resources/rampart_service_repo/modules" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/rampart_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/rahas-${project.version}.mar" tofile="target/test-resources/rampart_service_repo/modules/rahas-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/rampart_service_repo/modules/addressing-${axis2.version}.mar" />
 
                                 <!-- Service 1 -->
                                 <copy overwrite="yes" file="src/test/resources/rampart/services-1.xml" tofile="target/temp-ramp/META-INF/services.xml" />
@@ -276,6 +276,10 @@
                                 <!-- Service 34 -->
                                 <copy overwrite="yes" file="src/test/resources/rampart/services-34.xml" tofile="target/temp-ramp/META-INF/services.xml" />
                                 <jar jarfile="target/test-resources/rampart_service_repo/services/SecureService34.aar" basedir="target/temp-ramp" />
+                                
+                                <!-- Service 35 -->
+                                <copy overwrite="yes" file="src/test/resources/rampart/services-35.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureService35.aar" basedir="target/temp-ramp" />
 
 
                                 <!-- Service SC-1 -->
@@ -294,27 +298,36 @@
                                 <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC3.aar" basedir="target/temp-ramp" />
 
                                 <!-- Service SC-4 This is with standard secure conversation specification -->
-                                <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties"/>
-                                <copy overwrite="yes" file="src/test/resources/rampart/services-sc-4.xml" tofile="target/temp-ramp/META-INF/services.xml"/>
-                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC4.aar"  basedir="target/temp-ramp"/>
+                                <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties" />
+                                <copy overwrite="yes" file="src/test/resources/rampart/services-sc-4.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC4.aar" basedir="target/temp-ramp" />
 
                                 <!-- Service SC-5 This is with standard secure conversation specification -->
-                                <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties"/>
-                                <copy overwrite="yes" file="src/test/resources/rampart/services-sc-5.xml" tofile="target/temp-ramp/META-INF/services.xml"/>
-                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC5.aar" basedir="target/temp-ramp"/>
+                                <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties" />
+                                <copy overwrite="yes" file="src/test/resources/rampart/services-sc-5.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC5.aar" basedir="target/temp-ramp" />
 
                                 <!-- Service SC-6 This is with standard secure conversation specification -->
-                                <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties"/>
-                                <copy overwrite="yes" file="src/test/resources/rampart/services-sc-6.xml" tofile="target/temp-ramp/META-INF/services.xml"/>
-                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC6.aar" basedir="target/temp-ramp"/>
+                                <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties" />
+                                <copy overwrite="yes" file="src/test/resources/rampart/services-sc-6.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/SecureServiceSC6.aar" basedir="target/temp-ramp" />
+                                
+                                <!--  Kerberos Services -->
+                                <copy overwrite="yes" file="src/test/resources/rampart/kerberos/KerberosOverTransportKeytab.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/KerberosOverTransportKeytab.aar" basedir="target/temp-ramp" />
+                                
+                                <copy overwrite="yes" file="src/test/resources/rampart/kerberos/KerberosOverTransportPWCB.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/KerberosOverTransportPWCB.aar" basedir="target/temp-ramp" />
+                                
+                                <copy overwrite="yes" file="src/test/resources/rampart/kerberos/KerberosDelegation.xml" tofile="target/temp-ramp/META-INF/services.xml" />
+                                <jar jarfile="target/test-resources/rampart_service_repo/services/KerberosDelegation.aar" basedir="target/temp-ramp" />
+                                
 
                                 <!--
                                  Set up the infra for rahas tests and the rahas client repo
                                 -->
                                 <mkdir dir="target/temp-rahas" />
                                 <mkdir dir="target/temp-rahas/META-INF" />
-                                <copy overwrite="yes" file="target/classes/org/apache/rahas/Service.class" tofile="target/temp-rahas/org/apache/rahas/Service.class" />
-                                <copy overwrite="yes" file="target/classes/org/apache/rahas/PWCallback.class" tofile="target/temp-rahas/org/apache/rahas/PWCallback.class" />
                                 <copy overwrite="yes" todir="target/temp-rahas">
                                     <fileset dir="src/test/resources/rahas">
                                         <include name="issuer.properties" />
@@ -325,17 +338,10 @@
                                 <!--addPath id="maven.dependency.classpath" refid="rahas.client.props"-->
                                 <mkdir dir="target/test-resources/rahas_client_repo" />
                                 <mkdir dir="target/test-resources/rahas_client_repo/conf" />
-                                <mkdir dir="target/test-resources/rahas_client_repo/modules" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/rahas_client_repo/modules/addressing-${axis2.version}.mar" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/rahas_client_repo/modules/rampart-${project.version}.mar" />
                                 <!-- Rahas Test1: SAML Token test -->
                                 <mkdir dir="target/test-resources/rahas_service_repo_1" />
                                 <mkdir dir="target/test-resources/rahas_service_repo_1/conf" />
                                 <mkdir dir="target/test-resources/rahas_service_repo_1/services" />
-                                <mkdir dir="target/test-resources/rahas_service_repo_1/modules" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/rahas_service_repo_1/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/rahas-${project.version}.mar" tofile="target/test-resources/rahas_service_repo_1/modules/rahas-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/rahas_service_repo_1/modules/addressing-${axis2.version}.mar" />
                                 <!-- copy the services.xml and create the aar -->
                                 <copy overwrite="yes" file="src/test/resources/rahas/s1-services.xml" tofile="target/temp-rahas/META-INF/services.xml" />
                                 <jar jarfile="target/test-resources/rahas_service_repo_1/services/SecureService.aar" basedir="target/temp-rahas" />
@@ -346,211 +352,23 @@
                                 <mkdir dir="target/test-resources/rahas_service_repo_3" />
                                 <mkdir dir="target/test-resources/rahas_service_repo_3/conf" />
                                 <mkdir dir="target/test-resources/rahas_service_repo_3/services" />
-                                <mkdir dir="target/test-resources/rahas_service_repo_3/modules" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/rahas_service_repo_3/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/rahas-${project.version}.mar" tofile="target/test-resources/rahas_service_repo_3/modules/rahas-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/rahas_service_repo_3/modules/addressing-${axis2.version}.mar" />
                                 <!-- copy the services.xml and create the aar -->
                                 <copy overwrite="yes" file="src/test/resources/rahas/s3-services.xml" tofile="target/temp-rahas/META-INF/services.xml" />
                                 <jar jarfile="target/test-resources/rahas_service_repo_3/services/SecureService.aar" basedir="target/temp-rahas" />
                                 <!--
                                  Rahas Test 3 & 4: RahasSAMLTokenUTForHoKTest and RahasSAMLTokenUTForHoKV1205Test : END
                                 -->
-                                <mkdir dir="target/test-resources/default_security_client_repo" />
-                                <mkdir dir="target/test-resources/default_security_client_repo/conf" />
-                                <mkdir dir="target/test-resources/default_security_client_repo/modules" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/default_security_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/default_security_client_repo/modules/addressing-${axis2.version}.mar" />
-                                <copy file="src/test/resources/conf/axis2.xml" tofile="target/test-resources/default_security_client_repo/conf/axis2.xml" />
                                 <!--
                         RahasSAMLTokenAttributeTest
                         -->
                                 <mkdir dir="target/test-resources/rahas_service_repo_5" />
                                 <mkdir dir="target/test-resources/rahas_service_repo_5/conf" />
                                 <mkdir dir="target/test-resources/rahas_service_repo_5/services" />
-                                <mkdir dir="target/test-resources/rahas_service_repo_5/modules" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/rahas_service_repo_5/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/rahas-${project.version}.mar" tofile="target/test-resources/rahas_service_repo_5/modules/rahas-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/rahas_service_repo_5/modules/addressing-${axis2.version}.mar" />
                                 <!-- copy the services.xml and create the aar -->
                                 <copy overwrite="yes" file="src/test/resources/rahas/s5-services.xml" tofile="target/temp-rahas/META-INF/services.xml" />
                                 <jar jarfile="target/test-resources/rahas_service_repo_5/services/SecureService.aar" basedir="target/temp-rahas" />
 
                                 <!--RahasAttributeTest END-->
-                                <!-- Scenario 1 -->
-                                <mkdir dir="target/test-resources/scenario1_client_repo" />
-                                <mkdir dir="target/test-resources/scenario1_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario1_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario1_client_repo/services" />
-                                <mkdir dir="target/test-resources/scenario1_service_repo" />
-                                <mkdir dir="target/test-resources/scenario1_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario1_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario1_service_repo/modules" />
-                                <!-- setup scenario 1 client repository-->
-                                <copy file="src/test/resources/security/s1.client.axis2.xml" tofile="target/test-resources/scenario1_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario1_client_repo/modules/rampart-${project.version}.mar" />
-                                <!-- setup scenario 1 service repository-->
-                                <copy file="src/test/resources/security/s1.service.axis2.xml" tofile="target/test-resources/scenario1_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario1_service_repo/modules/rampart-${project.version}.mar" />
-
-                                <mkdir dir="target/temp-interop/META-INF" />
-
-                                <!-- Create the .aar file -->
-                                <copy file="src/test/resources/security/s1.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario1_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-                                <!-- Scenario 2 - Setup the client and service repos -->
-                                <mkdir dir="target/test-resources/scenario2_client_repo" />
-                                <mkdir dir="target/test-resources/scenario2_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario2_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario2_service_repo" />
-                                <mkdir dir="target/test-resources/scenario2_service_repo/ conf" />
-                                <mkdir dir="target/test-resources/scenario2_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario2_service_repo/modules" />
-                                <copy file="src/test/resources/security/s2.client.axis2.xml" tofile="target/test-resources/scenario2_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario2_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s2.service.axis2.xml" tofile="target/test-resources/scenario2_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario2_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s2.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario2_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Scenario 2a - set up repos -->
-                                <mkdir dir="target/test-resources/scenario2a_client_repo" />
-                                <mkdir dir="target/test-resources/scenario2a_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario2a_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario2a_service_repo" />
-                                <mkdir dir="target/test-resources/scenario2a_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario2a_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario2a_service_repo/modules" />
-                                <copy file="src/test/resources/security/s2a.client.axis2.xml" tofile="target/test-resources/scenario2a_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario2a_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s2a.service.axis2.xml" tofile="target/test-resources/scenario2a_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario2a_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s2a.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario2a_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-                                <!-- Scenario 3 -->
-                                <mkdir dir="target/test-resources/scenario3_client_repo" />
-                                <mkdir dir="target/test-resources/scenario3_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario3_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario3_service_repo" />
-                                <mkdir dir="target/test-resources/scenario3_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario3_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario3_service_repo/modules" />
-                                <copy file="src/test/resources/security/s3.client.axis2.xml" tofile="target/test-resources/scenario3_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario3_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s3.service.axis2.xml" tofile="target/test-resources/scenario3_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario3_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s3.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario3_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Scenario 4 -->
-                                <mkdir dir="target/test-resources/scenario4_client_repo" />
-                                <mkdir dir="target/test-resources/scenario4_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario4_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario4_service_repo" />
-                                <mkdir dir="target/test-resources/scenario4_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario4_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario4_service_repo/modules" />
-                                <copy file="src/test/resources/security/s4.client.axis2.xml" tofile="target/test-resources/scenario4_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario4_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s4.service.axis2.xml" tofile="target/test-resources/scenario4_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario4_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s4.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario4_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Scenario 5 -->
-                                <mkdir dir="target/test-resources/scenario5_client_repo" />
-                                <mkdir dir="target/test-resources/scenario5_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario5_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario5_service_repo" />
-                                <mkdir dir="target/test-resources/scenario5_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario5_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario5_service_repo/modules" />
-                                <copy file="src/test/resources/security/s5.client.axis2.xml" tofile="target/test-resources/scenario5_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario5_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s5.service.axis2.xml" tofile="target/test-resources/scenario5_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario5_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s5.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario5_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Scenario 6 -->
-                                <mkdir dir="target/test-resources/scenario6_client_repo" />
-                                <mkdir dir="target/test-resources/scenario6_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario6_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario6_service_repo" />
-                                <mkdir dir="target/test-resources/scenario6_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario6_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario6_service_repo/modules" />
-                                <copy file="src/test/resources/security/s6.client.axis2.xml" tofile="target/test-resources/scenario6_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario6_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s6.service.axis2.xml" tofile="target/test-resources/scenario6_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario6_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s6.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario6_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Scenario 7 -->
-                                <mkdir dir="target/test-resources/scenario7_client_repo" />
-                                <mkdir dir="target/test-resources/scenario7_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario7_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenario7_service_repo" />
-                                <mkdir dir="target/test-resources/scenario7_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenario7_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenario7_service_repo/modules" />
-                                <copy file="src/test/resources/security/s7.client.axis2.xml" tofile="target/test-resources/scenario7_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario7_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s7.service.axis2.xml" tofile="target/test-resources/scenario7_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenario7_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/s7.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenario7_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Scenario ST1 -->
-                                <mkdir dir="target/test-resources/scenarioST1_client_repo" />
-                                <mkdir dir="target/test-resources/scenarioST1_client_repo/conf" />
-                                <mkdir dir="target/test-resources/scenarioST1_client_repo/modules" />
-                                <mkdir dir="target/test-resources/scenarioST1_service_repo" />
-                                <mkdir dir="target/test-resources/scenarioST1_service_repo/conf" />
-                                <mkdir dir="target/test-resources/scenarioST1_service_repo/services" />
-                                <mkdir dir="target/test-resources/scenarioST1_service_repo/modules" />
-                                <copy file="src/test/resources/security/sST1.client.axis2.xml" tofile="target/test-resources/scenarioST1_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenarioST1_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/sST1.service.axis2.xml" tofile="target/test-resources/scenarioST1_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/scenarioST1_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/sST1.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/scenarioST1_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- MTOM Optimized Security Test -->
-                                <mkdir dir="target/test-resources/mtom_sec_client_repo" />
-                                <mkdir dir="target/test-resources/mtom_sec_client_repo/conf" />
-                                <mkdir dir="target/test-resources/mtom_sec_client_repo/modules" />
-                                <mkdir dir="target/test-resources/mtom_sec_service_repo" />
-                                <mkdir dir="target/test-resources/mtom_sec_service_repo/conf" />
-                                <mkdir dir="target/test-resources/mtom_sec_service_repo/services" />
-                                <mkdir dir="target/test-resources/mtom_sec_service_repo/modules" />
-                                <copy file="src/test/resources/security/secMtom.client.axis2.xml" tofile="target/test-resources/mtom_sec_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/mtom_sec_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/secMtom.service.axis2.xml" tofile="target/test-resources/mtom_sec_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/mtom_sec_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="src/test/resources/security/secMtom.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <jar jarfile="target/test-resources/mtom_sec_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
-
-                                <!-- Test with addressing and MTOM  -->
-                                <mkdir dir="target/test-resources/complete_client_repo" />
-                                <mkdir dir="target/test-resources/complete_client_repo/conf" />
-                                <mkdir dir="target/test-resources/complete_client_repo/modules" />
-                                <mkdir dir="target/test-resources/complete_service_repo" />
-                                <mkdir dir="target/test-resources/complete_service_repo/conf" />
-                                <mkdir dir="target/test-resources/complete_service_repo/services" />
-                                <mkdir dir="target/test-resources/complete_service_repo/modules" />
-                                <!-- Test with addressing and MTOM client repository-->
-                                <copy file="src/test/resources/security/complete.client.axis2.xml" tofile="target/test-resources/complete_client_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/complete_client_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/complete_client_repo/modules/addressing-${axis2.version}.mar" />
-                                <!-- Test with addressing and MTOMservice repository-->
-                                <copy file="src/test/resources/security/complete.service.axis2.xml" tofile="target/test-resources/complete_service_repo/conf/axis2.xml" />
-                                <copy file="target/artifacts/rampart-${project.version}.mar" tofile="target/test-resources/complete_service_repo/modules/rampart-${project.version}.mar" />
-                                <copy file="target/artifacts/addressing-${axis2.version}.mar" tofile="target/test-resources/complete_service_repo/modules/addressing-${axis2.version}.mar" />
-                                <copy file="src/test/resources/security/complete.service.xml" tofile="target/temp-interop/META-INF/services.xml" overwrite="true" />
-                                <!-- Create the .aar file -->
-                                <jar jarfile="target/test-resources/complete_service_repo/services/PingPort.aar" basedir="target/temp-interop" />
                             </tasks>
                         </configuration>
                         <goals>
@@ -581,7 +399,13 @@
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
                     <!-- Add the Xerces/Xalan versions expected by OpenSAML to the boot classpath so that the build succeeds on older 1.5 JDKs -->
-                    <argLine>-Xbootclasspath/p:${project.build.directory}/endorsed/xml-apis.jar${path.separator}${project.build.directory}/endorsed/xercesImpl.jar${path.separator}${project.build.directory}/endorsed/resolver.jar${path.separator}${project.build.directory}/endorsed/serializer.jar${path.separator}${project.build.directory}/endorsed/xalan.jar</argLine>
+                    <argLine>${jacoco.surefireArgLine} -Xbootclasspath/p:${project.build.directory}/endorsed/xml-apis.jar${path.separator}${project.build.directory}/endorsed/xercesImpl.jar${path.separator}${project.build.directory}/endorsed/resolver.jar${path.separator}${project.build.directory}/endorsed/serializer.jar${path.separator}${project.build.directory}/endorsed/xalan.jar</argLine>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
                 </configuration>
             </plugin>
         </plugins>
@@ -592,16 +416,37 @@
             <groupId>org.apache.rampart</groupId>
             <artifactId>rampart-policy</artifactId>
             <version>${project.version}</version>
+            <!--  Use Jetty's servlet api (2.5) -->
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>servlet-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.rampart</groupId>
             <artifactId>rampart-trust</artifactId>
             <version>${project.version}</version>
+            <!--  Use Jetty's servlet api (2.5) -->
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>servlet-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.rampart</groupId>
             <artifactId>rampart-core</artifactId>
             <version>${project.version}</version>
+            <!--  Use Jetty's servlet api (2.5) -->
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>servlet-api</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.axis2</groupId>
@@ -629,10 +474,100 @@
             <version>${axis2.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.rampart</groupId>
+            <artifactId>rampart</artifactId>
+            <version>${project.version}</version>
+            <type>mar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.rampart</groupId>
+            <artifactId>rahas</artifactId>
+            <version>${project.version}</version>
+            <type>mar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>addressing</artifactId>
+            <type>mar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-core-annotations</artifactId>
+            <version>2.0.0-M21</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-protocol-shared</artifactId>
+            <version>2.0.0-M21</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-protocol-kerberos</artifactId>
+            <version>2.0.0-M21</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-interceptor-kerberos</artifactId>
+            <version>2.0.0-M21</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.api</groupId>
+            <artifactId>api-ldap-codec-standalone</artifactId>
+            <version>1.0.0-M33</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.api</groupId>
+            <artifactId>api-ldap-extras-codec-api</artifactId>
+            <version>1.0.0-M33</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.commons.axiom</groupId>
+            <artifactId>axiom-truth</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -642,20 +577,10 @@
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-testutils</artifactId>
+            <version>${axis2.version}</version>
+        </dependency>
     </dependencies>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <configuration>
-                    <templateDirectory>${basedir}</templateDirectory>
-                    <menu ref="parent" />
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-
 </project>
diff --git a/modules/rampart-integration/src/main/java/org/apache/axis2/integration/TestConstants.java b/modules/rampart-integration/src/main/java/org/apache/axis2/integration/TestConstants.java
new file mode 100644
index 0000000..c20a517
--- /dev/null
+++ b/modules/rampart-integration/src/main/java/org/apache/axis2/integration/TestConstants.java
@@ -0,0 +1,25 @@
+/*
+ * 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.axis2.integration;
+
+public final class TestConstants {
+    public static final String TESTING_PATH = "target/test-resources/";
+    
+    private TestConstants() {}
+}
diff --git a/modules/rampart-integration/src/main/java/org/apache/axis2/integration/UtilServer.java b/modules/rampart-integration/src/main/java/org/apache/axis2/integration/UtilServer.java
deleted file mode 100644
index 40fbe74..0000000
--- a/modules/rampart-integration/src/main/java/org/apache/axis2/integration/UtilServer.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.integration;
-
-import junit.framework.TestCase;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.context.ServiceContext;
-import org.apache.axis2.context.ServiceGroupContext;
-import org.apache.axis2.deployment.DeploymentEngine;
-import org.apache.axis2.description.AxisModule;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.AxisServiceGroup;
-import org.apache.axis2.description.TransportInDescription;
-import org.apache.axis2.engine.ListenerManager;
-import org.apache.axis2.transport.http.SimpleHTTPServer;
-
-import javax.xml.namespace.QName;
-import java.io.File;
-import java.io.FilenameFilter;
-
-public class UtilServer {
-    private static int count = 0;
-
-    private static SimpleHTTPServer receiver;
-
-    public static final int TESTING_PORT = 5555;
-
-    public static final String FAILURE_MESSAGE = "Intentional Failure";
-
-
-    public static synchronized void deployService(AxisService service)
-            throws AxisFault {
-        receiver.getConfigurationContext().getAxisConfiguration().addService(
-                service);
-    }
-
-    public static synchronized void unDeployService(QName service)
-            throws AxisFault {
-        receiver.getConfigurationContext().getAxisConfiguration()
-                .removeService(service.getLocalPart());
-    }
-
-    public static synchronized void unDeployClientService() throws AxisFault {
-        if (receiver.getConfigurationContext().getAxisConfiguration() != null) {
-            receiver.getConfigurationContext().getAxisConfiguration()
-                    .removeService("AnonymousService");
-        }
-    }
-
-    public static synchronized void start() throws Exception {
-        start(org.apache.axis2.Constants.TESTING_REPOSITORY);
-    }
-
-    public static synchronized void start(String repository) throws Exception {
-        if (count == 0) {
-            ConfigurationContext er = getNewConfigurationContext(repository);
-
-            receiver = new SimpleHTTPServer(er, TESTING_PORT);
-
-            try {
-                receiver.start();
-                ListenerManager listenerManager = er.getListenerManager();
-                TransportInDescription trsIn = new TransportInDescription(
-                        Constants.TRANSPORT_HTTP);
-                trsIn.setReceiver(receiver);
-                if (listenerManager == null) {
-                    listenerManager = new ListenerManager();
-                    listenerManager.init(er);
-                }
-                listenerManager.addListener(trsIn, true);
-                System.out.print("Server started on port "
-                        + TESTING_PORT + ".....");
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-
-        try {
-            Thread.sleep(2000);
-        } catch (InterruptedException e1) {
-            throw new AxisFault("Thread interuptted", e1);
-        }
-
-
-        count++;
-    }
-
-    public static synchronized void start(String repository, String axis2xml) throws Exception {
-        if (count == 0) {
-            ConfigurationContext er = getNewConfigurationContext(repository, axis2xml);
-
-            receiver = new SimpleHTTPServer(er, TESTING_PORT);
-
-            try {
-                receiver.start();
-                System.out.print("Server started on port "
-                        + TESTING_PORT + ".....");
-            } catch (Exception e) {
-                throw new AxisFault(e.getMessage(), e);
-            }
-
-            try {
-                Thread.sleep(2000);
-            } catch (InterruptedException e1) {
-                throw new AxisFault("Thread interuptted", e1);
-            }
-
-        }
-        count++;
-    }
-
-    public static ConfigurationContext getNewConfigurationContext(
-            String repository) throws Exception {
-        File file = new File(repository);
-        if (!file.exists()) {
-            throw new Exception("repository directory "
-                    + file.getAbsolutePath() + " does not exists");
-        }
-        return ConfigurationContextFactory.createConfigurationContextFromFileSystem(file.getAbsolutePath(),
-                file.getAbsolutePath() + "/conf/axis2.xml");
-    }
-
-    public static ConfigurationContext getNewConfigurationContext(
-            String repository, String axis2xml) throws Exception {
-        File file = new File(repository);
-        if (!file.exists()) {
-            throw new Exception("repository directory "
-                    + file.getAbsolutePath() + " does not exists");
-        }
-        return ConfigurationContextFactory.createConfigurationContextFromFileSystem(file.getAbsolutePath(),
-                axis2xml);
-    }
-
-    public static synchronized void stop() throws AxisFault {
-        if (count == 1) {
-            receiver.stop();
-            while (receiver.isRunning()) {
-                try {
-                    Thread.sleep(1000);
-                } catch (InterruptedException e1) {
-                    //nothing to do here
-                }
-            }
-            count = 0;
-// tp.doStop();
-            System.out.print("Server stopped .....");
-        } else {
-            count--;
-        }
-        receiver.getConfigurationContext().terminate();
-    }
-
-    public static ConfigurationContext getConfigurationContext() {
-        return receiver.getConfigurationContext();
-    }
-
-    public static ServiceContext createAdressedEnabledClientSide(
-            AxisService service) throws AxisFault {
-        File file = getAddressingMARFile();
-        TestCase.assertTrue(file.exists());
-        ConfigurationContext configContext = ConfigurationContextFactory
-                .createConfigurationContextFromFileSystem(
-                        "target/test-resources/integrationRepo", null);
-        AxisModule axisModule = DeploymentEngine.buildModule(file,
-                configContext.getAxisConfiguration());
-        configContext.getAxisConfiguration().addModule(axisModule);
-
-        configContext.getAxisConfiguration().addService(service);
-
-        return new ServiceGroupContext(configContext, (AxisServiceGroup) service.getParent())
-                .getServiceContext(service);
-    }
-
-    static class AddressingFilter implements FilenameFilter {
-        public boolean accept(File dir, String name) {
-            return name.startsWith("addressing") && name.endsWith(".mar");
-        }
-    }
-
-    private static File getAddressingMARFile() {
-        File dir = new File(org.apache.axis2.Constants.TESTING_REPOSITORY + "/modules");
-        File[] files = dir.listFiles(new AddressingFilter());
-        TestCase.assertTrue(files.length == 1);
-        File file = files[0];
-        TestCase.assertTrue(file.exists());
-        return file;
-    }
-
-    public static ConfigurationContext createClientConfigurationContext() throws AxisFault {
-        File file = getAddressingMARFile();
-        TestCase.assertTrue(file.exists());
-
-        ConfigurationContext configContext = ConfigurationContextFactory .createConfigurationContextFromFileSystem(
-                "target/test-resources/integrationRepo",
-                "target/test-resources/integrationRepo/conf/axis2.xml");
-        AxisModule axisModule = DeploymentEngine.buildModule(file,
-                configContext.getAxisConfiguration());
-        configContext.getAxisConfiguration().addModule(axisModule);
-        return configContext;
-    }
-
-    public static ConfigurationContext createClientConfigurationContext(String repo) throws AxisFault {
-        return ConfigurationContextFactory .createConfigurationContextFromFileSystem(
-                repo,
-                repo + "/conf/axis2.xml");
-    }
-
-    public static ServiceContext createAdressedEnabledClientSide(
-            AxisService service, String clientHome) throws AxisFault {
-        File file = getAddressingMARFile();
-        TestCase.assertTrue(file.exists());
-
-        ConfigurationContext configContext = ConfigurationContextFactory
-                .createConfigurationContextFromFileSystem(clientHome, null);
-        AxisModule axisModule = DeploymentEngine.buildModule(file,
-                configContext.getAxisConfiguration());
-
-        configContext.getAxisConfiguration().addModule(axisModule);
-// sysContext.getAxisConfiguration().engageModule(moduleDesc.getName());
-
-        configContext.getAxisConfiguration().addService(service);
-
-        return new ServiceGroupContext(configContext, (AxisServiceGroup) service.getParent())
-                .getServiceContext(service);
-    }
-
-}
diff --git a/modules/rampart-integration/src/main/java/org/apache/axis2/integration/UtilServerBasedTestCase.java b/modules/rampart-integration/src/main/java/org/apache/axis2/integration/UtilServerBasedTestCase.java
deleted file mode 100644
index 248ec07..0000000
--- a/modules/rampart-integration/src/main/java/org/apache/axis2/integration/UtilServerBasedTestCase.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-* Copyright 2004-2006 The Apache Software Foundation.
-*
-* Licensed 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.axis2.integration;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestCase;
-
-public class UtilServerBasedTestCase extends TestCase {
-
-    public UtilServerBasedTestCase() {
-        super(UtilServerBasedTestCase.class.getName());
-    }
-
-    public UtilServerBasedTestCase(java.lang.String string) {
-        super(string);
-    }
-
-    protected static Test getTestSetup(Test test) {
-        return new TestSetup(test) {
-            public void setUp() throws Exception {
-                UtilServer.start();
-            }
-
-            public void tearDown() throws Exception {
-                UtilServer.stop();
-            }
-        };
-    }
-
-    protected static Test getTestSetup2(Test test, final String param) {
-        return new TestSetup(test) {
-            public void setUp() throws Exception {
-                UtilServer.start(param);
-            }
-
-            public void tearDown() throws Exception {
-                UtilServer.stop();
-            }
-        };
-    }
-
-    protected static Test getTestSetup3(Test test, final String param1, final String param2) {
-        return new TestSetup(test) {
-            public void setUp() throws Exception {
-                UtilServer.start(param1, param2);
-            }
-
-            public void tearDown() throws Exception {
-                UtilServer.stop();
-            }
-        };
-    }
-}
diff --git a/modules/rampart-integration/src/main/java/org/apache/rahas/PWCallback.java b/modules/rampart-integration/src/main/java/org/apache/rahas/PWCallback.java
index ee636bb..08bf0d6 100755
--- a/modules/rampart-integration/src/main/java/org/apache/rahas/PWCallback.java
+++ b/modules/rampart-integration/src/main/java/org/apache/rahas/PWCallback.java
@@ -33,35 +33,6 @@
 public class PWCallback implements CallbackHandler {
 
 
-
-    /** Field key */
-
-    private static final byte[] key = {
-
-        (byte) 0x31, (byte) 0xfd, (byte) 0xcb, (byte) 0xda, (byte) 0xfb,
-
-        (byte) 0xcd, (byte) 0x6b, (byte) 0xa8, (byte) 0xe6, (byte) 0x19,
-
-        (byte) 0xa7, (byte) 0xbf, (byte) 0x51, (byte) 0xf7, (byte) 0xc7,
-
-        (byte) 0x3e, (byte) 0x80, (byte) 0xae, (byte) 0x98, (byte) 0x51,
-
-        (byte) 0xc8, (byte) 0x51, (byte) 0x34, (byte) 0x04,
-
-    };
-
-
-
-    /*
-
-     * (non-Javadoc)
-
-     * @see javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])
-
-     */
-
-
-
     /**
 
      * Method handle
@@ -150,11 +121,7 @@
 
                  */
 
-                if (pc.getUsage() == WSPasswordCallback.KEY_NAME) {
-
-                    pc.setKey(key);
-
-                } else if(pc.getIdentifier().equals("alice")) {
+                if(pc.getIdentifier().equals("alice")) {
 
                     pc.setPassword("password");
 
diff --git a/modules/rampart-integration/src/main/java/org/apache/rahas/TestClient.java b/modules/rampart-integration/src/main/java/org/apache/rahas/TestClient.java
index 88a957a..3b484c1 100644
--- a/modules/rampart-integration/src/main/java/org/apache/rahas/TestClient.java
+++ b/modules/rampart-integration/src/main/java/org/apache/rahas/TestClient.java
@@ -16,95 +16,54 @@
 
 package org.apache.rahas;
 
+import static org.apache.axis2.integration.TestConstants.TESTING_PATH;
+
+import java.io.FileInputStream;
+import java.io.InputStream;
+
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.integration.UtilServer;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.testutils.ClientHelper;
+import org.apache.axis2.testutils.JettyServer;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyEngine;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
+import org.apache.rampart.RampartMessageData;
+import org.junit.Rule;
+import org.junit.Test;
 
-import javax.xml.namespace.QName;
+public abstract class TestClient {
 
-import junit.framework.TestCase;
+    @Rule
+    public final JettyServer server = new JettyServer(TESTING_PATH + getServiceRepo(), false);
 
-public abstract class TestClient extends TestCase {
-
-    protected int port = UtilServer.TESTING_PORT;
-
-    public TestClient(String name) {
-        super(name);
-    }
-
-    protected void setUp() throws Exception {
-        UtilServer.start(Constants.TESTING_PATH + getServiceRepo(), null);
-    }
-
-    protected void tearDown() throws Exception {
-        UtilServer.stop();
-    }
+    @Rule
+    public final ClientHelper clientHelper = new ClientHelper(server, TESTING_PATH + "rahas_client_repo");
 
     /**
      */
+    @Test
     public void testRequest() throws Exception {
-        // Get the repository location from the args
-        String repo = Constants.TESTING_PATH + "rahas_client_repo";
-
-        ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(repo,
-                                                                                                                  null);
-        ServiceClient serviceClient = new ServiceClient(configContext, null);
-        Options options = new Options();
-
-        System.setProperty("javax.net.ssl.keyStorePassword", "password");
-        System.setProperty("javax.net.ssl.keyStoreType", "JKS");
-        System.setProperty("javax.net.ssl.trustStore", "/home/ruchith/Desktop/interop/certs/interop2.jks");
-        System.setProperty("javax.net.ssl.trustStorePassword", "password");
-        System.setProperty("javax.net.ssl.trustStoreType","JKS");
-
-        options.setTo(new EndpointReference("http://127.0.0.1:" + port + "/axis2/services/SecureService"));
-//        options.setTo(new EndpointReference("http://127.0.0.1:" + 9090 + "/axis2/services/UTSAMLHoK"));
-//        options.setTo(new EndpointReference("https://www-lk.wso2.com:8443/axis2/services/UTSAMLHoK"));
-//        options.setTo(new EndpointReference("https://192.18.49.133:2343/jaxws-s1-sts/sts"));
-//        options.setTo(new EndpointReference("https://207.200.37.116/SxSts/Scenario_1_IssuedTokenOverTransport_UsernameOverTransport"));
-//        options.setTo(new EndpointReference("http://localhost:9090/SxSts/Scenario_4_IssuedToken_MutualCertificate10"));
-
-//        options.setTo(new EndpointReference("http://127.0.0.1:" + 9090 + "/axis2/services/MutualCertsSAMLHoK"));
-//        options.setTo(new EndpointReference("http://www-lk.wso2.com:8888/axis2/services/MutualCertsSAMLHoK"));
-//        options.setTo(new EndpointReference("https://131.107.72.15/trust/Addressing2004/UserName"));
-//        options.setTo(new EndpointReference("https://131.107.72.15/trust/UserName"));
-//        options.setTo(new EndpointReference("http://127.0.0.1:" + 9090 + "/trust/X509WSS10"));
-//        options.setTo(new EndpointReference("https://131.107.72.15/trust/UserName"));
-//        options.setTo(new EndpointReference("http://127.0.0.1:" + 9090 + "/jaxws-s4-sts/sts"));
-//        options.setTo(new EndpointReference("http://127.0.0.1:9090/jaxws-s4/simple"));
-//        options.setTo(new EndpointReference("http://127.0.0.1:" + 9090 + "/axis2/services/UTSAMLBearer"));
+        ServiceClient serviceClient = clientHelper.createServiceClient("SecureService");
+        Options options = serviceClient.getOptions();
 
         options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
         options.setAction(this.getRequestAction());
 //        options.setProperty(AddressingConstants.WS_ADDRESSING_VERSION, this.getWSANamespace());
 
         options.setTimeOutInMilliSeconds(200 * 1000);
-        OutflowConfiguration clientOutflowConfiguration = getClientOutflowConfiguration();
-        if (clientOutflowConfiguration != null) {
-            configContext.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY, clientOutflowConfiguration.getProperty());
-        }
-        InflowConfiguration clientInflowConfiguration = getClientInflowConfiguration();
-        if (clientInflowConfiguration != null) {
-            configContext.setProperty(WSSHandlerConstants.INFLOW_SECURITY, clientInflowConfiguration.getProperty());
-        }
 
+        ServiceContext context = serviceClient.getServiceContext();
+        context.setProperty(RampartMessageData.KEY_RAMPART_POLICY, loadPolicy());
+        
         serviceClient.engageModule("addressing");
         serviceClient.engageModule("rampart");
 
-        serviceClient.setOptions(options);
-
         //Blocking invocation
 
         OMElement result = serviceClient.sendReceive(getRequest());
@@ -118,9 +77,7 @@
 
     public abstract OMElement getRequest();
 
-    public abstract OutflowConfiguration getClientOutflowConfiguration();
-
-    public abstract InflowConfiguration getClientInflowConfiguration();
+    public abstract String getClientPolicyPath();
 
     public abstract String getServiceRepo();
 
@@ -172,9 +129,16 @@
     public abstract OMElement getRSTTemplate() throws TrustException;
 
     protected Policy getPolicy(String filePath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(filePath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(filePath));
         OMElement elem = builder.getDocumentElement();
         return PolicyEngine.getPolicy(elem);
     }
+    
+    private Policy loadPolicy() throws Exception {
+    	String path = getClientPolicyPath();
+    	InputStream poilicyStream = TestClient.class.getResourceAsStream(path);
+		return PolicyEngine.getPolicy(poilicyStream);
+    }
+
 
 }
diff --git a/modules/rampart-integration/src/main/resources/ping/ping.wsdl b/modules/rampart-integration/src/main/resources/ping/ping.wsdl
deleted file mode 100644
index 788518d..0000000
--- a/modules/rampart-integration/src/main/resources/ping/ping.wsdl
+++ /dev/null
@@ -1,68 +0,0 @@
-<definitions xmlns:s1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"

-             xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"

-             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

-             xmlns:s="http://www.w3.org/2001/XMLSchema"

-             xmlns:tns="http://xmlsoap.org/Ping"

-             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

-             xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"

-             xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"

-             targetNamespace="http://xmlsoap.org/Ping"

-             xmlns="http://schemas.xmlsoap.org/wsdl/">

-    <types>

-        <s:schema elementFormDefault="qualified" targetNamespace="http://xmlsoap.org/Ping">

-            <s:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>

-            <s:element name="Ping" nillable="true" type="tns:ping"/>

-            <s:complexType name="ping">

-                <s:sequence>

-                    <s:element minOccurs="0" maxOccurs="1" name="ticket" type="tns:ticketType"/>

-                    <s:element minOccurs="1" maxOccurs="1" name="text" nillable="true" type="s:string"/>

-                </s:sequence>

-            </s:complexType>

-            <s:complexType name="ticketType">

-                <s:simpleContent>

-                    <s:extension base="s:string">

-                        <s:attribute ref="s1:Id"/>

-                    </s:extension>

-                </s:simpleContent>

-            </s:complexType>

-            <s:element name="PingResponse" nillable="true" type="tns:pingResponse"/>

-            <s:complexType name="pingResponse">

-                <s:sequence>

-                    <s:element minOccurs="1" maxOccurs="1" name="text" nillable="true" type="s:string"/>

-                </s:sequence>

-            </s:complexType>

-        </s:schema>

-        <s:schema elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

-            <s:attribute name="Id" type="s:string"/>

-        </s:schema>

-    </types>

-    <message name="PingRequest">

-        <part name="ping" element="tns:Ping"/>

-    </message>

-    <message name="PingResponse">

-        <part name="pingResponse" element="tns:PingResponse"/>

-    </message>

-    <portType name="PingPort">

-        <operation name="Ping" >

-            <input message="tns:PingRequest"/>

-            <output message="tns:PingResponse"/>

-        </operation>

-    </portType>

-    <binding name="PingBinding" type="tns:PingPort">

-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

-        <operation name="Ping">

-            <soap:operation soapAction="urn:Ping" style="document"/>

-            <input>

-                <soap:body use="literal"/>

-            </input>

-            <output>

-                <soap:body use="literal"/>

-            </output>

-        </operation>

-    </binding>

-    <service name="PingPort">

-        <port name="Ping1" binding="tns:PingBinding">

-            <soap:address location="http://localhost:9080/pingservice/Ping1"/>

-        </port>

-    </service>

-</definitions>

diff --git a/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/oasis/ping/PingPortSkeleton.java b/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/oasis/ping/PingPortSkeleton.java
deleted file mode 100644
index 57ef4dd..0000000
--- a/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/oasis/ping/PingPortSkeleton.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-* Copyright 2004,2005 The Apache Software Foundation.
-*
-* Licensed 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.axis2.oasis.ping;
-
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.WSSecurityEngineResult;
-import org.apache.ws.security.handler.WSHandlerConstants;
-import org.apache.ws.security.handler.WSHandlerResult;
-import org.xmlsoap.ping.PingDocument;
-import org.xmlsoap.ping.PingResponse;
-import org.xmlsoap.ping.PingResponseDocument;
-
-import java.security.Principal;
-import java.util.List;
-
-/**
- * Auto generated java skeleton for the service by the Axis code generator
- */
-public class PingPortSkeleton{
-    /**
-     * Auto generated method signature
-     *
-     * @param param0
-     */
-    public PingResponseDocument ping
-            (PingDocument param0) {
-        List<WSHandlerResult> results = null;
-        MessageContext msgCtx = MessageContext.getCurrentMessageContext();
-        if ((results =
-                (List<WSHandlerResult>) msgCtx.getProperty(WSHandlerConstants.RECV_RESULTS))
-                == null) {
-            System.out.println("No security results!!");
-            throw new RuntimeException("No security results!!");
-        } else {
-            System.out.println("Number of results: " + results.size());
-            for (WSHandlerResult result : results) {
-                List<WSSecurityEngineResult> wsSecEngineResults = result.getResults();
-
-                for (WSSecurityEngineResult wser : wsSecEngineResults) {
-                    if (getAction(wser) != WSConstants.ENCR && getPrincipal(wser) != null) {
-                        System.out.println(getPrincipal(wser).getName());
-                    }
-                }
-            }
-            PingResponseDocument response = PingResponseDocument.Factory.newInstance();
-            PingResponse pingRes = response.addNewPingResponse();
-            pingRes.setText("Response: " + param0.getPing().getText());
-            return response;
-        }
-    }
-
-    private int getAction(WSSecurityEngineResult result) {
-        return (Integer)result.get(WSSecurityEngineResult.TAG_ACTION);
-    }
-
-    private Principal getPrincipal(WSSecurityEngineResult result) {
-        return (Principal)result.get(WSSecurityEngineResult.TAG_PRINCIPAL);
-    }
-
-}
-    
\ No newline at end of file
diff --git a/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/security/InteropScenarioClient.java b/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/security/InteropScenarioClient.java
deleted file mode 100644
index 4d2d889..0000000
--- a/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/security/InteropScenarioClient.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axis2.Constants;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.oasis.ping.PingPortStub;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.xmlsoap.ping.Ping;
-import org.xmlsoap.ping.PingDocument;
-import org.xmlsoap.ping.PingResponse;
-import org.xmlsoap.ping.PingResponseDocument;
-import org.xmlsoap.ping.TicketType;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-/**
- * Client for the interop service This MUST be used with the codegen'ed classes
- */
-public class InteropScenarioClient {
-
-    String soapNsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-
-    public InteropScenarioClient(boolean useSOAP12InStaticConfigTest) {
-        if (useSOAP12InStaticConfigTest) {
-            soapNsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-        }
-    }
-
-    public void invokeWithStaticConfig(String clientRepo, String url)
-            throws Exception {
-        TicketType ticket = TicketType.Factory.newInstance();
-        ticket.setId("MyticketId");
-
-        Ping ping = Ping.Factory.newInstance();
-        ping.setText("Testing rampart");
-        ping.setTicket(ticket);
-
-        PingDocument pingDoc = PingDocument.Factory.newInstance();
-        pingDoc.setPing(ping);
-
-        ConfigurationContext configCtx = ConfigurationContextFactory
-                        .createConfigurationContextFromFileSystem(clientRepo,
-                                clientRepo + "/conf/axis2.xml");
-        PingPortStub stub = new PingPortStub(configCtx, url);
-
-        // Enable MTOM to those scenarios where they are configured using:
-        // <optimizeParts>xpathExpression</optimizeParts>
-        stub._getServiceClient().getOptions().setProperty(
-                Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
-        stub._getServiceClient().getOptions().setSoapVersionURI(soapNsURI);
-        stub._getServiceClient().engageModule("rampart");
-
-        PingResponseDocument pingResDoc = stub.ping(pingDoc);
-
-        PingResponse pingRes = pingResDoc.getPingResponse();
-
-        System.out.println(pingRes.getText());
-    }
-
-    public void invokeWithGivenConfig(String clientRepo, String url,
-            OutflowConfiguration outflowConfig, InflowConfiguration inflowConfig)
-            throws Exception {
-        TicketType ticket = TicketType.Factory.newInstance();
-        ticket.setId("MyticketId"); // TODO need to figure out why "My ticket Id" is failing
-
-        Ping ping = Ping.Factory.newInstance();
-        ping.setText("Testing rampart");
-        ping.setTicket(ticket);
-
-        PingDocument pingDoc = PingDocument.Factory.newInstance();
-        pingDoc.setPing(ping);
-
-        PingPortStub stub = new PingPortStub(ConfigurationContextFactory
-                .createConfigurationContextFromFileSystem(clientRepo,
-                        clientRepo + "/conf/axis2.xml"), url);
-
-        // Enable MTOM to those scenarios where they are configured using:
-        // <optimizeParts>xpathExpression</optimizeParts>
-        stub._getServiceClient().getOptions().setProperty(
-                Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
-        // Engage the security module
-        stub._getServiceClient().engageModule("rampart");
-
-        if (outflowConfig != null) {
-            stub._getServiceClient().getServiceContext().setProperty(
-                    WSSHandlerConstants.OUTFLOW_SECURITY,
-                    outflowConfig.getProperty());
-        }
-        if (inflowConfig != null) {
-            stub._getServiceClient().getServiceContext().setProperty(
-                    WSSHandlerConstants.INFLOW_SECURITY,
-                    inflowConfig.getProperty());
-        }
-        PingResponseDocument pingResDoc = stub.ping(pingDoc);
-
-        PingResponse pingRes = pingResDoc.getPingResponse();
-
-        System.out.println(pingRes.getText());
-        stub = null;
-    }
-
-    public void invokeWithGivenConfigWithProRefs(String clientRepo, String url,
-            OutflowConfiguration outflowConfig, InflowConfiguration inflowConfig,
-            Hashtable propRefs)
-            throws Exception {
-        TicketType ticket = TicketType.Factory.newInstance();
-        ticket.setId("MyticketId"); // TODO need to figure out why "My ticket Id" is failing
-
-        Ping ping = Ping.Factory.newInstance();
-        ping.setText("Testing rampart");
-        ping.setTicket(ticket);
-
-        PingDocument pingDoc = PingDocument.Factory.newInstance();
-        pingDoc.setPing(ping);
-
-        PingPortStub stub = new PingPortStub(ConfigurationContextFactory
-                .createConfigurationContextFromFileSystem(clientRepo,
-                        clientRepo + "/conf/axis2.xml"), url);
-
-        // Enable MTOM to those scenarios where they are configured using:
-        // <optimizeParts>xpathExpression</optimizeParts>
-        stub._getServiceClient().getOptions().setProperty(
-                Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
-        // Engage the security module
-        stub._getServiceClient().engageModule("rampart");
-
-        if (outflowConfig != null) {
-            stub._getServiceClient().getServiceContext().setProperty(
-                    WSSHandlerConstants.OUTFLOW_SECURITY,
-                    outflowConfig.getProperty());
-        }
-        if (inflowConfig != null) {
-            stub._getServiceClient().getServiceContext().setProperty(
-                    WSSHandlerConstants.INFLOW_SECURITY,
-                    inflowConfig.getProperty());
-        }
-        
-        if(propRefs != null) {
-            Enumeration keysEnum = propRefs.keys();
-            while (keysEnum.hasMoreElements()) {
-                String refKey = (String) keysEnum.nextElement();
-                
-                stub._getServiceClient().getServiceContext().setProperty(refKey,
-                       propRefs.get(refKey));
-            }
-        }
-        
-        PingResponseDocument pingResDoc = stub.ping(pingDoc);
-
-        PingResponse pingRes = pingResDoc.getPingResponse();
-
-        System.out.println(pingRes.getText());
-        stub = null;
-    }
-}
diff --git a/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/security/PWCallback.java b/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/security/PWCallback.java
deleted file mode 100644
index a51b7e3..0000000
--- a/modules/rampart-integration/src/main/resources/ping/src/org/apache/axis2/security/PWCallback.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-import java.io.IOException;
-
-
-
-/**
-
- * Class PWCallback
-
- */
-
-public class PWCallback implements CallbackHandler {
-
-
-
-    /** Field key */
-
-    private static final byte[] key = {
-
-        (byte) 0x31, (byte) 0xfd, (byte) 0xcb, (byte) 0xda, (byte) 0xfb,
-
-        (byte) 0xcd, (byte) 0x6b, (byte) 0xa8, (byte) 0xe6, (byte) 0x19,
-
-        (byte) 0xa7, (byte) 0xbf, (byte) 0x51, (byte) 0xf7, (byte) 0xc7,
-
-        (byte) 0x3e, (byte) 0x80, (byte) 0xae, (byte) 0x98, (byte) 0x51,
-
-        (byte) 0xc8, (byte) 0x51, (byte) 0x34, (byte) 0x04,
-
-    };
-
-
-
-    /*
-
-     * (non-Javadoc)
-
-     * @see javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])
-
-     */
-
-
-
-    /**
-
-     * Method handle
-
-     * 
-
-     * @param callbacks 
-
-     * @throws java.io.IOException                  
-
-     * @throws javax.security.auth.callback.UnsupportedCallbackException 
-
-     */
-
-    public void handle(Callback[] callbacks)
-
-            throws IOException, UnsupportedCallbackException {
-
-
-
-        for (int i = 0; i < callbacks.length; i++) {
-
-            if (callbacks[i] instanceof WSPasswordCallback) {
-
-                WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
-
-
-
-                /*
-
-                 * This usage type is used only in case we received a
-
-                 * username token with a password of type PasswordText or
-
-                 * an unknown password type.
-
-                 * 
-
-                 * This case the WSPasswordCallback object contains the
-
-                 * identifier (aka username), the password we received, and
-
-                 * the password type string to identify the type.
-
-                 * 
-
-                 * Here we perform only a very simple check.
-
-                 */
-
-                if (pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
-
-                	if(pc.getIdentifier().equals("Ron") && pc.getPassword().equals("noR")) {
-
-                        return;
-
-                	}
-
-                    if (pc.getPassword().equals("sirhC")) {
-
-                        return;
-
-                    }               	
-
-                    throw new UnsupportedCallbackException(callbacks[i],
-
-                    "check failed");
-
-                }
-
-                /*
-
-                 * here call a function/method to lookup the password for
-
-                 * the given identifier (e.g. a user name or keystore alias)
-
-                 * e.g.: pc.setPassword(passStore.getPassword(pc.getIdentfifier))
-
-                 * for Testing we supply a fixed name here.
-
-                 */
-
-                if (pc.getUsage() == WSPasswordCallback.SECRET_KEY) {
-
-                    pc.setKey(key);
-
-                } else if(pc.getIdentifier().equals("alice")) {
-
-                    pc.setPassword("password");
-
-                } else if(pc.getIdentifier().equals("bob")) {
-
-                    pc.setPassword("password");
-
-                } else if(pc.getIdentifier().equals("Ron")) {
-
-                    pc.setPassword("noR");
-
-                } else {
-
-                    pc.setPassword("sirhC");
-
-                }
-
-            } else {
-
-                throw new UnsupportedCallbackException(callbacks[i],
-
-                        "Unrecognized Callback");
-
-            }
-
-        }
-
-    }
-
-}
-
-
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/AddressingMTOMSecurityTest.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/AddressingMTOMSecurityTest.java
deleted file mode 100644
index a5690e6..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/AddressingMTOMSecurityTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.axis2.Constants;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-public class AddressingMTOMSecurityTest extends InteropTestBase {
-
-    protected OutflowConfiguration getOutflowConfiguration() {
-
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("Timestamp Signature Encrypt");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("bob");
-        ofc.setSignaturePropFile("interop.properties");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setSignatureParts("{Element}{" + ADDR_NS + "}To;" +
-                                "{Element}{" + ADDR_NS + "}MessageID;" +
-                                "{Element}{" + WSU_NS + "}Timestamp");
-        ofc.setOptimizeParts(
-                "//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue");
-
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp Signature Encrypt");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ifc.setSignaturePropFile("interop.properties");
-
-        return ifc;
-    }
-
-    protected String getClientRepo() {
-        return COMPLETE_CLIENT_REPOSITORY;
-    }
-
-    protected String getServiceRepo() {
-        return COMPLETE_SERVICE_REPOSITORY;
-    }
-
-    protected boolean isUseSOAP12InStaticConfigTest() {
-        return true;
-    }
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("Timestamp Signature Encrypt");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("bob");
-        ofc.setSignaturePropRefId("key1");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setSignatureParts("{Element}{" + ADDR_NS + "}To;" +
-                                "{Element}{" + ADDR_NS + "}MessageID;" +
-                                "{Element}{" + WSU_NS + "}Timestamp");
-        ofc.setOptimizeParts(
-                "//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue");
-
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp Signature Encrypt");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ifc.setSignaturePropRefId("key2");
-
-        return ifc;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        table.put("key2", prop2);
-        
-        return table;
-    }
-
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/InteropTestBase.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/InteropTestBase.java
deleted file mode 100644
index 407a71e..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/InteropTestBase.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.AddressingConstants;
-import org.apache.axis2.integration.UtilServer;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.util.Hashtable;
-
-import junit.framework.TestCase;
-
-public abstract class InteropTestBase extends TestCase {
-
-    protected static final String SCENARIO1_SERVICE_REPOSITORY =
-            "scenario1_service_repo";
-
-    protected static final String SCENARIO1_CLIENT_REPOSITORY =
-            "scenario1_client_repo";
-
-    protected static final String SCENARIO2_SERVICE_REPOSITORY =
-            "scenario2_service_repo";
-
-    protected static final String SCENARIO2_CLIENT_REPOSITORY =
-            "scenario2_client_repo";
-
-    protected static final String SCENARIO2a_SERVICE_REPOSITORY =
-            "scenario2a_service_repo";
-
-    protected static final String SCENARIO2a_CLIENT_REPOSITORY =
-            "scenario2a_client_repo";
-
-    protected static final String SCENARIO3_SERVICE_REPOSITORY =
-            "scenario3_service_repo";
-
-    protected static final String SCENARIO3_CLIENT_REPOSITORY =
-            "scenario3_client_repo";
-
-    protected static final String SCENARIO4_SERVICE_REPOSITORY =
-            "scenario4_service_repo";
-
-    protected static final String SCENARIO4_CLIENT_REPOSITORY =
-            "scenario4_client_repo";
-
-    protected static final String SCENARIO5_SERVICE_REPOSITORY =
-            "scenario5_service_repo";
-
-    protected static final String SCENARIO5_CLIENT_REPOSITORY =
-            "scenario5_client_repo";
-
-    protected static final String SCENARIO6_SERVICE_REPOSITORY =
-            "scenario6_service_repo";
-
-    protected static final String SCENARIO6_CLIENT_REPOSITORY =
-            "scenario6_client_repo";
-
-    protected static final String SCENARIO7_SERVICE_REPOSITORY =
-            "scenario7_service_repo";
-
-    protected static final String SCENARIO7_CLIENT_REPOSITORY =
-            "scenario7_client_repo";
-
-    protected static final String SCENARIO_ST1_SERVICE_REPOSITORY =
-            "scenarioST1_service_repo";
-
-    protected static final String SCENARIO_ST1_CLIENT_REPOSITORY =
-            "scenarioST1_client_repo";
-
-    protected static final String SCENARIO_ST3_SERVICE_REPOSITORY =
-            "scenarioST3_service_repo";
-
-    protected static final String SCENARIO_ST3_CLIENT_REPOSITORY =
-            "scenarioST3_client_repo";
-
-    protected static final String SCENARIO_ST4_SERVICE_REPOSITORY =
-            "scenarioST4_service_repo";
-
-    protected static final String SCENARIO_ST4_CLIENT_REPOSITORY =
-            "scenarioST4_client_repo";
-
-    protected static final String MTOM_SEC_SERVICE_REPOSITORY =
-            "mtom_sec_service_repo";
-
-    protected static final String MTOM_SEC_CLIENT_REPOSITORY =
-            "mtom_sec_client_repo";
-
-    protected static final String COMPLETE_SERVICE_REPOSITORY =
-            "complete_service_repo";
-
-    protected static final String COMPLETE_CLIENT_REPOSITORY =
-            "complete_client_repo";
-
-    protected static final String DEFAULT_CLIENT_REPOSITORY =
-            "default_security_client_repo";
-
-    protected static final String WSSE_NS = WSConstants.WSSE_NS;
-
-    protected static final String WSU_NS = WSConstants.WSU_NS;
-
-    protected static final String ADDR_NS =
-            AddressingConstants.Final.WSA_NAMESPACE;
-
-    private String targetEpr = "http://127.0.0.1:" +
-//            5556 +
-            UtilServer.TESTING_PORT +
-            "/axis2/services/PingPort";
-
-    public InteropTestBase() {
-        super();
-    }
-
-    public InteropTestBase(String arg0) {
-        super(arg0);
-    }
-    
-    public void setUp() throws Exception {
-        UtilServer.start(Constants.TESTING_PATH + getServiceRepo());
-    }
-
-    public void tearDown() throws Exception {
-        UtilServer.stop();
-    }
-    /**
-     * Do test
-     */
-    public void testInteropWithConfigFiles() {
-        try {
-
-            Class interopScenarioClientClass = Class
-                    .forName("org.apache.axis2.security.InteropScenarioClient");
-
-            Constructor c = interopScenarioClientClass
-                    .getConstructor(new Class[]{boolean.class});
-            Object clientObj = c.newInstance(new Object[]{this
-                    .isUseSOAP12InStaticConfigTest() ? Boolean.TRUE
-                    : Boolean.FALSE});
-            Method m = interopScenarioClientClass.getMethod(
-                    "invokeWithStaticConfig", new Class[]{String.class,
-                    String.class});
-            m.invoke(clientObj, new Object[]{
-                    Constants.TESTING_PATH + getClientRepo(), targetEpr});
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            fail("Error in introperating with " + targetEpr
-                    + ", client configuration: " + getClientRepo());
-        }
-    }
-
-    public void testInteropWithDynamicConfig() {
-        try {
-            Class interopScenarioClientClass = Class
-                    .forName("org.apache.axis2.security.InteropScenarioClient");
-            Constructor c = interopScenarioClientClass
-                    .getConstructor(new Class[]{boolean.class});
-            Object clientObj = c.newInstance(new Object[]{this
-                    .isUseSOAP12InStaticConfigTest() ? Boolean.TRUE
-                    : Boolean.FALSE});
-            Method m = interopScenarioClientClass.getMethod(
-                    "invokeWithGivenConfig", new Class[]{String.class,
-                    String.class, OutflowConfiguration.class,
-                    InflowConfiguration.class});
-            m.invoke(clientObj, new Object[]{
-                    Constants.TESTING_PATH + DEFAULT_CLIENT_REPOSITORY,
-                    targetEpr, getOutflowConfiguration(),
-                    getInflowConfiguration()});
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            fail("Error in introperating with " + targetEpr
-                    + ", client configuration: " + getClientRepo());
-        }
-
-    }
-
-    public void testInteropWithDynamicConfigWithProfRefs() {
-        if(getPropertyRefs() != null) {
-            try {
-    
-                Class interopScenarioClientClass = Class
-                        .forName("org.apache.axis2.security.InteropScenarioClient");
-                Constructor c = interopScenarioClientClass
-                        .getConstructor(new Class[]{boolean.class});
-                Object clientObj = c.newInstance(new Object[]{this
-                        .isUseSOAP12InStaticConfigTest() ? Boolean.TRUE
-                        : Boolean.FALSE});
-                Method m = interopScenarioClientClass.getMethod(
-                        "invokeWithGivenConfigWithProRefs", new Class[]{
-                        String.class,
-                        String.class, OutflowConfiguration.class,
-                        InflowConfiguration.class, Hashtable.class});
-                m.invoke(clientObj, new Object[]{
-                        Constants.TESTING_PATH + DEFAULT_CLIENT_REPOSITORY,
-                        targetEpr, getOutflowConfigurationWithRefs(),
-                        getInflowConfigurationWithRefs(),
-                        getPropertyRefs()});
-            } catch (Exception e) {
-                e.printStackTrace();
-                fail("Error in introperating with " + targetEpr
-                        + ", client configuration: " + getClientRepo());
-            }
-        }
-    }
-    
-    protected abstract OutflowConfiguration getOutflowConfiguration();
-
-    protected abstract InflowConfiguration getInflowConfiguration();
-
-    protected abstract OutflowConfiguration getOutflowConfigurationWithRefs();
-
-    protected abstract InflowConfiguration getInflowConfigurationWithRefs();
-    
-    protected abstract Hashtable getPropertyRefs();
-    
-    protected abstract String getClientRepo();
-
-    protected abstract String getServiceRepo();
-
-    protected abstract boolean isUseSOAP12InStaticConfigTest();
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/MTOMOptimizedSecurityTest.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/MTOMOptimizedSecurityTest.java
deleted file mode 100644
index e96599e..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/MTOMOptimizedSecurityTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-
-/**
- * Testing optimizing the base 64 elements with 
- * <code><parameter name="optimizeParts" locked="false">//xenc:Encrypted
- * Data/xenc:CipherData/xenc:CipherValue</parameter></code>
- */
-public class MTOMOptimizedSecurityTest extends InteropTestBase {
-
-
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("Signature Encrypt Timestamp");
-		ofc.setUser("alice");
-		ofc.setEncryptionUser("bob");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		ofc.setOptimizeParts("//xenc:EncryptedData/xenc:CipherData/" +
-                             "xenc:CipherValue");
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		InflowConfiguration ifc = new InflowConfiguration();
-		
-		ifc.setActionItems("Signature Encrypt Timestamp");
-		ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ifc.setSignaturePropFile("interop.properties");
-		
-		return ifc;
-	}
-
-	protected String getClientRepo() {
-		return MTOM_SEC_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return MTOM_SEC_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("bob");
-        ofc.setSignaturePropRefId("key1");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setOptimizeParts("//xenc:EncryptedData/xenc:CipherData/" +
-                             "xenc:CipherValue");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        InflowConfiguration ifc = new InflowConfiguration();
-        
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ifc.setSignaturePropRefId("key2");
-        
-        return ifc;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        table.put("key2", prop2);
-        
-        return table;
-    }
-	
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario1Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario1Test.java
deleted file mode 100644
index 505b507..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario1Test.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-
-import java.util.Hashtable;
-
-
-/**
- * WS-Security interop scenario 1
- */
-public class Scenario1Test extends InteropTestBase {
-
-    
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		ofc.setActionItems("UsernameToken");
-		ofc.setUser("Chris");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setPasswordType("PasswordText");
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		return null;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO1_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO1_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        return null;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        return null;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        return null;
-    }
-
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario2Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario2Test.java
deleted file mode 100644
index 2e626b7..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario2Test.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-/**
- * WS-Security inteorp scenario 2
- */
-public class Scenario2Test extends InteropTestBase {
-    
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("UsernameToken Encrypt");
-		ofc.setUser("Chris");
-		ofc.setAddUTElements("Nonce Created");
-		ofc.setEncryptionParts("{Element}{" + WSSE_NS + "}UsernameToken");
-		ofc.setEncryptionUser("bob");
-		ofc.setEncryptionPropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-		ofc.setPasswordType(WSConstants.PW_TEXT);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		return null;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO2_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO2_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    /* (non-Javadoc)
-     * @see org.apache.axis2.security.InteropTestBase#getOutflowConfigurationWithRefs()
-     */
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("UsernameToken Encrypt");
-        ofc.setUser("Chris");
-        ofc.setAddUTElements("Nonce Created");
-        ofc.setEncryptionParts("{Element}{" + WSSE_NS + "}UsernameToken");
-        ofc.setEncryptionUser("bob");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-        ofc.setPasswordType(WSConstants.PW_TEXT);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        
-        ofc.setEncryptionPropRefId("key1");
-        
-        return ofc;
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.axis2.security.InteropTestBase#getInflowConfigurationWithRefs()
-     */
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        return null;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        
-        return table;
-    }
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario2aTest.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario2aTest.java
deleted file mode 100644
index 2cbf860..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario2aTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-
-/**
- * WS-Security interop scenario 2a
- */
-public class Scenario2aTest extends InteropTestBase {
-
-
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("UsernameTokenSignature Encrypt Timestamp");
-		ofc.setUser("Chris");
-		ofc.setEncryptionParts("{Element}{" + WSSE_NS + "}UsernameToken");
-		ofc.setEncryptionUser("bob");
-		ofc.setEncryptionPropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		return null;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO2a_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO2a_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("UsernameTokenSignature Encrypt Timestamp");
-        ofc.setUser("Chris");
-        ofc.setEncryptionParts("{Element}{" + WSSE_NS + "}UsernameToken");
-        ofc.setEncryptionUser("bob");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        
-        ofc.setEncryptionPropRefId("key1");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        return null;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        
-        return table;
-        
-    }
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario3Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario3Test.java
deleted file mode 100644
index 679cdce..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario3Test.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-/**
- * WS-Security interop scenario 3
- */
-public class Scenario3Test extends InteropTestBase {
-
-
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("Signature Encrypt Timestamp");
-		ofc.setUser("alice");
-		ofc.setEncryptionUser("bob");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-		ofc.setEnableSignatureConfirmation(false);
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		InflowConfiguration ifc = new InflowConfiguration();
-		ifc.setActionItems("Signature Encrypt Timestamp");
-		ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ifc.setSignaturePropFile("interop.properties");
-		ifc.setEnableSignatureConfirmation(false);
-		return ifc;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO3_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO3_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("bob");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEnableSignatureConfirmation(false);
-        
-        ofc.setSignaturePropRefId("key1");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        InflowConfiguration ifc = new InflowConfiguration();
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ifc.setEnableSignatureConfirmation(false);
-        
-        ifc.setSignaturePropRefId("key2");
-        
-        return ifc;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        table.put("key2", prop2);
-        
-        return table;
-    }
-
-	
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario4Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario4Test.java
deleted file mode 100644
index fb6565f..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario4Test.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-/**
- * WS-Security interop scenario 4
- */
-public class Scenario4Test extends InteropTestBase {
-
-
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("Signature Encrypt Timestamp");
-		ofc.setUser("alice");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.EMBEDDED_KEYNAME);
-		ofc.setEmbeddedKeyName("SessionKey");
-		ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-		ofc.setEmbeddedKeyCallbackClass("org.apache.axis2.security.PWCallback");
-
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		InflowConfiguration ifc = new InflowConfiguration();
-		
-		ifc.setActionItems("Signature Encrypt Timestamp");
-		ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ifc.setSignaturePropFile("interop.properties");
-
-        /**
-         * This test is not "Basic Security Profile(BSP)" compatible. Cos we use
-         * KeyInfo/KeyName. Therefore setting this test as not BSP compatible.
-         */
-        ifc.setBSPCompliant(false);
-		
-		return ifc;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO4_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO4_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.EMBEDDED_KEYNAME);
-        ofc.setEmbeddedKeyName("SessionKey");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEmbeddedKeyCallbackClass("org.apache.axis2.security.PWCallback");
-
-        ofc.setSignaturePropRefId("key1");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        InflowConfiguration ifc = new InflowConfiguration();
-        
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        
-        ifc.setSignaturePropRefId("key2");
-        ifc.setBSPCompliant(false);
-        
-        return ifc;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        table.put("key2", prop2);
-        
-        return table;
-    }
-
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario5Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario5Test.java
deleted file mode 100644
index ef15ff4..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario5Test.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-/**
- * WS-Security interop scenario 5
- */
-public class Scenario5Test extends InteropTestBase {
-
-
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration(2);
-		
-		ofc.setActionItems("Signature");
-		ofc.setUser("alice");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-		ofc.setSignatureParts("{}{http://xmlsoap.org/Ping}ticket");
-		
-		ofc.nextAction();
-		
-		ofc.setActionItems("Signature Timestamp");
-		ofc.setUser("alice");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		return null;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO5_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO5_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration(2);
-        
-        ofc.setActionItems("Signature");
-        ofc.setUser("alice");
-        ofc.setSignaturePropRefId("key1");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setSignatureParts("{}{http://xmlsoap.org/Ping}ticket");
-        
-        ofc.nextAction();
-        
-        ofc.setActionItems("Signature Timestamp");
-        ofc.setUser("alice");
-        ofc.setSignaturePropRefId("key2");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        return null;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        
-        //IMPORTANT: Note that the key of the first repetition has "1" appended to it
-        table.put("key21", prop2);
-        
-        return table;
-    }
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario6Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario6Test.java
deleted file mode 100644
index 3a5033d..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario6Test.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-/**
- * WS-Security interop scenario 6
- */
-public class Scenario6Test extends InteropTestBase {
-	
-
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("Encrypt Signature Timestamp");
-		ofc.setUser("alice");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-		ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		ofc.setEmbeddedKeyCallbackClass("rg.apache.axis2.security.PWCallback");
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		InflowConfiguration ifc = new InflowConfiguration();
-		
-		ifc.setActionItems("Encrypt Signature Timestamp");
-		ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ifc.setSignaturePropFile("interop.properties");
-		
-		return ifc;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO6_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO6_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return true;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("Encrypt Signature Timestamp");
-        ofc.setUser("alice");
-        ofc.setSignaturePropRefId("key1");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setEmbeddedKeyCallbackClass("rg.apache.axis2.security.PWCallback");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        InflowConfiguration ifc = new InflowConfiguration();
-        
-        ifc.setActionItems("Encrypt Signature Timestamp");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ifc.setSignaturePropRefId("key2");
-        
-        return ifc;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        table.put("key2", prop2);
-        
-        return table;
-    }
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario7Test.java b/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario7Test.java
deleted file mode 100644
index af3e63f..0000000
--- a/modules/rampart-integration/src/test/java/org/apache/axis2/security/Scenario7Test.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.axis2.security;
-
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.ws.security.WSConstants;
-
-import java.util.Hashtable;
-import java.util.Properties;
-
-/**
- * WS-Security interop scenario 7
- */
-public class Scenario7Test extends InteropTestBase {
-
-  
-	protected OutflowConfiguration getOutflowConfiguration() {
-		OutflowConfiguration ofc = new OutflowConfiguration();
-		
-		ofc.setActionItems("Signature Encrypt Timestamp");
-		ofc.setUser("alice");
-		ofc.setEncryptionUser("bob");
-		ofc.setSignaturePropFile("interop.properties");
-		ofc.setEncryptionPropFile("interop.properties");
-		ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-		ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		ofc.setEmbeddedKeyCallbackClass("rg.apache.axis2.security.PWCallback");
-		ofc.setSignatureParts("{}{" + 
-                                SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI + 
-                                "}Body;STRTransform");
-		
-		return ofc;
-	}
-
-	protected InflowConfiguration getInflowConfiguration() {
-		InflowConfiguration ifc = new InflowConfiguration();
-		
-		ifc.setActionItems("Signature Encrypt Timestamp");
-		ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-		ifc.setSignaturePropFile("interop.properties");
-		ifc.setDecryptionPropFile("interop.properties");
-		
-		return ifc;
-	}
-
-	protected String getClientRepo() {
-		return SCENARIO7_CLIENT_REPOSITORY;
-	}
-
-	protected String getServiceRepo() {
-		return SCENARIO7_SERVICE_REPOSITORY;
-	}
-
-	protected boolean isUseSOAP12InStaticConfigTest() {
-		return false;
-	}
-
-    protected OutflowConfiguration getOutflowConfigurationWithRefs() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("bob");
-        ofc.setSignaturePropRefId("key1");
-        ofc.setEncryptionPropRefId("key2");
-        ofc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ofc.setEncryptionSymAlgorithm(WSConstants.TRIPLE_DES);
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setEmbeddedKeyCallbackClass("rg.apache.axis2.security.PWCallback");
-        ofc.setSignatureParts("{}{" + 
-                                SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI + 
-                                "}Body;STRTransform");
-        
-        return ofc;
-    }
-
-    protected InflowConfiguration getInflowConfigurationWithRefs() {
-        InflowConfiguration ifc = new InflowConfiguration();
-        
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass("org.apache.axis2.security.PWCallback");
-        ifc.setSignaturePropRefId("key3");
-        ifc.setDecryptionPropRefKey("key4");
-        
-        return ifc;
-    }
-
-    protected Hashtable getPropertyRefs() {
-        Properties prop1 =  new Properties();
-        prop1.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop1.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop2 =  new Properties();
-        prop2.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop2.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Properties prop3 =  new Properties();
-        prop3.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop3.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop3.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop3.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-
-        Properties prop4 =  new Properties();
-        prop4.setProperty("org.apache.ws.security.crypto.provider", "org.apache.ws.security.components.crypto.Merlin");
-        prop4.setProperty("org.apache.ws.security.crypto.merlin.keystore.type", "jks");
-        prop4.setProperty("org.apache.ws.security.crypto.merlin.keystore.password", "password");
-        prop4.setProperty("org.apache.ws.security.crypto.merlin.file", "interop2.jks");
-        
-        Hashtable table = new Hashtable();
-        table.put("key1", prop1);
-        table.put("key2", prop2);
-        table.put("key3", prop3);
-        table.put("key4", prop4);
-        
-        return table;
-    }
-}
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenCertForHoKTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenCertForHoKTest.java
index 1adfb5c..546bac4 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenCertForHoKTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenCertForHoKTest.java
@@ -1,14 +1,4 @@
-package org.apache.rahas;
-
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.neethi.Policy;
-import org.apache.ws.secpolicy.SP11Constants;
-
-import javax.xml.namespace.QName;/*
+/*
  * Copyright 2004,2005 The Apache Software Foundation.                         
  *                                                                             
  * Licensed under the Apache License, Version 2.0 (the "License");             
@@ -24,32 +14,19 @@
  * limitations under the License.                                              
  */
 
+package org.apache.rahas;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.neethi.Policy;
+import org.apache.ws.secpolicy.SP11Constants;
+
+import static org.junit.Assert.assertNotNull;
+
+import javax.xml.namespace.QName;
+
 public class RahasSAML2TokenCertForHoKTest extends TestClient{
-    public RahasSAML2TokenCertForHoKTest(String name) {
-           super(name);
-       }
-
-       public OutflowConfiguration getClientOutflowConfiguration() {
-           OutflowConfiguration ofc = new OutflowConfiguration();
-
-           ofc.setActionItems("Signature Encrypt Timestamp");
-           ofc.setUser("alice");
-           ofc.setEncryptionUser("ip");
-           ofc.setSignaturePropFile("rahas/rahas-sec.properties");
-           ofc.setPasswordCallbackClass(PWCallback.class.getName());
-           return ofc;
-       }
-
-       public InflowConfiguration getClientInflowConfiguration() {
-           InflowConfiguration ifc = new InflowConfiguration();
-
-           ifc.setActionItems("Signature Encrypt Timestamp");
-           ifc.setPasswordCallbackClass(PWCallback.class.getName());
-           ifc.setSignaturePropFile("rahas/rahas-sec.properties");
-
-           return ifc;
-       }
-
        public String getServiceRepo() {
            return "rahas_service_repo_1";
        }
@@ -127,4 +104,9 @@
            return RahasConstants.VERSION_05_02;
        }
 
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/1.xml";
+	}
+
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenTest.java
index cdf406d..9e35c98 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenTest.java
@@ -19,41 +19,14 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-import org.apache.rampart.handler.config.InflowConfiguration;
 import org.apache.neethi.Policy;
 import org.apache.ws.secpolicy.SP11Constants;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
+
 public class RahasSAML2TokenTest extends TestClient{
-    /**
-     * @param name
-     */
-    public RahasSAML2TokenTest(String name) {
-        super(name);
-    }
-
-
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setSignaturePropFile("rahas/rahas-sec.properties");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass(PWCallback.class.getName());
-        ifc.setSignaturePropFile("rahas/rahas-sec.properties");
-
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_1";
     }
@@ -125,4 +98,10 @@
     public int getTrstVersion() {
         return RahasConstants.VERSION_05_02;
     }
+
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/1.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenUTForBearerTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenUTForBearerTest.java
index 80a2989..76967c5 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenUTForBearerTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAML2TokenUTForBearerTest.java
@@ -20,8 +20,6 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP11Constants;
 import org.opensaml.Configuration;
 import org.opensaml.saml2.core.Assertion;
@@ -35,6 +33,10 @@
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import java.io.ByteArrayInputStream;
 import java.util.List;
 
@@ -43,11 +45,6 @@
  * @author Ruchith Fernando (ruchith.fernando@gmail.com)
  */
 public class RahasSAML2TokenUTForBearerTest extends TestClient {
-
-    public RahasSAML2TokenUTForBearerTest(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_02);
@@ -67,23 +64,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("UsernameToken Timestamp");
-        ofc.setUser("joe");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp");
-
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_3";
     }
@@ -171,4 +151,9 @@
         }
         return  assertion;
     }
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/3.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenAttributeTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenAttributeTest.java
index 7579887..8acb16e 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenAttributeTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenAttributeTest.java
@@ -1,21 +1,16 @@
 package org.apache.rahas;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP11Constants;
 
 public class RahasSAMLTokenAttributeTest  extends TestClient{
-    
-	public RahasSAMLTokenAttributeTest(String name) {
-        super(name);
-    }
-    
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_02);
@@ -35,23 +30,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("UsernameToken Timestamp");
-        ofc.setUser("joe");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_5";
     }
@@ -99,4 +77,9 @@
     public int getTrstVersion() {
         return RahasConstants.VERSION_05_02;
     }
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/3.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKTest.java
index 45946e5..9bdcd87 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKTest.java
@@ -20,40 +20,13 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP11Constants;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
-
 public class RahasSAMLTokenCertForHoKTest extends TestClient {
-
-    public RahasSAMLTokenCertForHoKTest(String name) {
-        super(name);
-    }
-
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("ip");
-        ofc.setSignaturePropFile("rahas/rahas-sec.properties");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass(PWCallback.class.getName());
-        ifc.setSignaturePropFile("rahas/rahas-sec.properties");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_1";
     }
@@ -132,4 +105,9 @@
         return RahasConstants.VERSION_05_02;
     }
 
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/1.xml";
+	}
+
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKV1205Test.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKV1205Test.java
index f01ffc4..006b9a0 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKV1205Test.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenCertForHoKV1205Test.java
@@ -20,21 +20,13 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP12Constants;
-import org.apache.xml.security.encryption.XMLCipher;
+
+import static org.junit.Assert.assertNotNull;
 
 import javax.xml.namespace.QName;
 
 public class RahasSAMLTokenCertForHoKV1205Test extends TestClient {
-
-
-    public RahasSAMLTokenCertForHoKV1205Test(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem =
@@ -62,41 +54,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-//        ofc.setActionItems("Timestamp Signature Encrypt");
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setEncryptionUser("ip");
-        ofc.setSignaturePropFile("rahas/rahas-sec.properties");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-        ofc.setEncryptionKeyTransportAlgorithm(XMLCipher.RSA_OAEP);
-//        ofc.setEncryptionSymAlgorithm(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256);
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        ofc.setEnableSignatureConfirmation(false);
-//        ofc.setSignatureParts("{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body;" +
-//                                "{Element}{" + RahasConstants.WSA_NS + "}To;" +
-//                                "{Element}{" + RahasConstants.WSA_NS + "}ReplyTo;" +
-//                                "{Element}{" + RahasConstants.WSA_NS + "}MessageID;" +
-//                                "{Element}{" + RahasConstants.WSA_NS + "}Action;" +
-//                                "{Element}{" + WSConstants.WSU_NS + "}Timestamp");
-
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass(PWCallback.class.getName());
-        ifc.setSignaturePropFile("rahas/rahas-sec.properties");
-        ifc.setEnableSignatureConfirmation(false);
-
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_1";
     }
@@ -148,4 +105,9 @@
         return RahasConstants.VERSION_05_12;
     }
 
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/1.xml";
+	}
+
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenTest.java
index efd1f83..61ed5d2 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenTest.java
@@ -20,43 +20,13 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP11Constants;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
 public class RahasSAMLTokenTest extends TestClient {
-
-
-    /**
-     * @param name
-     */
-    public RahasSAMLTokenTest(String name) {
-        super(name);
-    }
-
-
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setSignaturePropFile("rahas/rahas-sec.properties");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass(PWCallback.class.getName());
-        ifc.setSignaturePropFile("rahas/rahas-sec.properties");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_1";
     }
@@ -127,4 +97,10 @@
     public int getTrstVersion() {
         return RahasConstants.VERSION_05_02;
     }
+
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/1.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerTest.java
index df2433c..93ed846 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerTest.java
@@ -20,8 +20,6 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP11Constants;
 import org.opensaml.Configuration;
 import org.opensaml.saml1.core.Assertion;
@@ -36,6 +34,10 @@
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import java.io.ByteArrayInputStream;
 import java.util.List;
 
@@ -44,11 +46,6 @@
  * @author Ruchith Fernando (ruchith.fernando@gmail.com)
  */
 public class RahasSAMLTokenUTForBearerTest extends TestClient {
-
-    public RahasSAMLTokenUTForBearerTest(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_02);
@@ -68,23 +65,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("UsernameToken Timestamp");
-        ofc.setUser("joe");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_3";
     }
@@ -172,4 +152,9 @@
         }
         return  assertion;
     }
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/3.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerV1205Test.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerV1205Test.java
index 9a93afc..bfd771f 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerV1205Test.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForBearerV1205Test.java
@@ -20,21 +20,13 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP12Constants;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
 public class RahasSAMLTokenUTForBearerV1205Test extends TestClient {
-
-    /**
-     * @param name
-     */
-    public RahasSAMLTokenUTForBearerV1205Test(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_12);
@@ -54,23 +46,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("UsernameToken Timestamp");
-        ofc.setUser("joe");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_3";
     }
@@ -122,4 +97,9 @@
     public int getTrstVersion() {
         return RahasConstants.VERSION_05_12;
     }
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/3.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKTest.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKTest.java
index 677c10e..9e21c61 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKTest.java
@@ -20,18 +20,13 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP11Constants;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
 public class RahasSAMLTokenUTForHoKTest extends TestClient {
-
-    public RahasSAMLTokenUTForHoKTest(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_02);
@@ -51,23 +46,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("UsernameToken Timestamp");
-        ofc.setUser("joe");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_3";
     }
@@ -116,4 +94,9 @@
     public int getTrstVersion() {
         return RahasConstants.VERSION_05_02;
     }
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/3.xml";
+	}
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKV1205Test.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKV1205Test.java
index 9af8b92..d15ba09 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKV1205Test.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenUTForHoKV1205Test.java
@@ -16,30 +16,22 @@
 
 package org.apache.rahas;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.util.Base64;
+import org.apache.axiom.util.base64.Base64Utils;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP12Constants;
-import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.util.WSSecurityUtil;
 
 public class RahasSAMLTokenUTForHoKV1205Test extends TestClient {
 
     byte[] clientEntr;
     
-    /**
-     * @param name
-     */
-    public RahasSAMLTokenUTForHoKV1205Test(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_12);
@@ -57,7 +49,7 @@
             byte[] nonce = WSSecurityUtil.generateNonce(16);
             clientEntr = nonce;
             OMElement entrElem = TrustUtil.createEntropyElement(RahasConstants.VERSION_05_12, rstElem);
-            TrustUtil.createBinarySecretElement(RahasConstants.VERSION_05_12, entrElem, RahasConstants.BIN_SEC_TYPE_NONCE).setText(Base64.encode(nonce));
+            TrustUtil.createBinarySecretElement(RahasConstants.VERSION_05_12, entrElem, RahasConstants.BIN_SEC_TYPE_NONCE).setText(Base64Utils.encode(nonce));
             TrustUtil.createComputedKeyAlgorithm(RahasConstants.VERSION_05_12,rstElem, RahasConstants.COMPUTED_KEY_PSHA1);
             
             return rstElem;
@@ -67,24 +59,6 @@
         }
     }
 
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("UsernameToken Timestamp");
-        ofc.setUser("joe");
-        ofc.setPasswordType(WSConstants.PW_TEXT);
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Timestamp");
-        
-        return ifc;
-    }
-
     public String getServiceRepo() {
         return "rahas_service_repo_3";
     }
@@ -158,6 +132,11 @@
     public int getTrstVersion() {
         return RahasConstants.VERSION_05_12;
     }
+
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/3.xml";
+	}
     
 //    private void requestService(OMElement assertion, byte[] reqEnt, byte[] respEnt) throws Exception {
 //        
diff --git a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenV1205Test.java b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenV1205Test.java
index 9a3a9a7..3fddd7f 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenV1205Test.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rahas/RahasSAMLTokenV1205Test.java
@@ -20,24 +20,16 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.neethi.Policy;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
 import org.apache.ws.secpolicy.SP12Constants;
 
+import static org.junit.Assert.assertNotNull;
+
 import javax.xml.namespace.QName;
 
 /**
  * RahasSAMLTokenTest with the WS-SX namespaces
  */
 public class RahasSAMLTokenV1205Test extends TestClient {
-
-    /**
-     * @param name
-     */
-    public RahasSAMLTokenV1205Test(String name) {
-        super(name);
-    }
-
     public OMElement getRequest() {
         try {
             OMElement rstElem = TrustUtil.createRequestSecurityTokenElement(RahasConstants.VERSION_05_12);
@@ -56,25 +48,6 @@
             throw new RuntimeException(e);
         }
     }
-    public OutflowConfiguration getClientOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-
-        ofc.setActionItems("Signature Encrypt Timestamp");
-        ofc.setUser("alice");
-        ofc.setSignaturePropFile("rahas/rahas-sec.properties");
-        ofc.setPasswordCallbackClass(PWCallback.class.getName());
-        return ofc;
-    }
-
-    public InflowConfiguration getClientInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-
-        ifc.setActionItems("Signature Encrypt Timestamp");
-        ifc.setPasswordCallbackClass(PWCallback.class.getName());
-        ifc.setSignaturePropFile("rahas/rahas-sec.properties");
-        
-        return ifc;
-    }
 
     public String getServiceRepo() {
         return "rahas_service_repo_1";
@@ -129,4 +102,9 @@
         return RahasConstants.VERSION_05_12;
     }
 
+	@Override
+	public String getClientPolicyPath() {
+		return "/rahas/1.xml";
+	}
+
 }
diff --git a/modules/rampart-integration/src/test/java/org/apache/rampart/KerberosDelegationService.java b/modules/rampart-integration/src/test/java/org/apache/rampart/KerberosDelegationService.java
new file mode 100644
index 0000000..c007569
--- /dev/null
+++ b/modules/rampart-integration/src/test/java/org/apache/rampart/KerberosDelegationService.java
@@ -0,0 +1,78 @@
+/*
+ * 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.rampart;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.neethi.Policy;
+import org.apache.rampart.policy.model.KerberosConfig;
+import org.apache.rampart.policy.model.RampartConfig;
+
+public class KerberosDelegationService extends PolicyBasedResultsValidator{
+    public OMElement echo(OMElement elem) throws Exception {
+        final String serviceName = "KerberosOverTransportKeytab";
+
+        ServiceClient serviceClient = RampartKerberosTest.clientHelper.createServiceClient(serviceName, null, null);
+
+        RampartConfig rampartConfig = new RampartConfig();  
+        
+        KerberosConfig kerberosConfig = new KerberosConfig();
+        rampartConfig.setKerberosConfig(kerberosConfig);
+        kerberosConfig.setJaasContext("KerberosDelegation");
+        kerberosConfig.setDelegationCredential(KerberosDelegationServiceValidator.getDelegationCredential());
+
+        Policy policy = new Policy();
+        policy.addAssertion(rampartConfig);
+                
+        serviceClient.getAxisService().getPolicySubject().attachPolicyComponent(policy);
+        
+        //Blocking invocation
+        QName operation = new QName("http://rampart.apache.org", "echo");
+        OMElement echoElement = getEchoElement();
+        OMElement result = serviceClient.sendReceive(operation, echoElement);
+        return result;
+    }
+    
+    protected OMElement getEchoElement() {
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMNamespace omNs = fac.createOMNamespace(
+                "http://example1.org/example1", "example1");
+        OMElement method = fac.createOMElement("echo", omNs);
+        OMElement value = fac.createOMElement("Text", omNs);
+        value.addChild(fac.createOMText(value, "Testing Rampart with WS-SecPolicy"));
+        method.addChild(value);
+
+        return method;
+    }
+
+    /**
+     * New service method for testing negative scenario where service throws an exception
+     * @param element
+     * @return
+     * @throws Exception
+     */
+    public OMElement returnError(OMElement element) throws Exception {
+        throw new Exception("Testing negative scenarios with Apache Rampart. Intentional Exception");
+    }
+}
diff --git a/modules/rampart-integration/src/test/java/org/apache/rampart/KerberosDelegationServiceValidator.java b/modules/rampart-integration/src/test/java/org/apache/rampart/KerberosDelegationServiceValidator.java
new file mode 100644
index 0000000..32fc013
--- /dev/null
+++ b/modules/rampart-integration/src/test/java/org/apache/rampart/KerberosDelegationServiceValidator.java
@@ -0,0 +1,46 @@
+/*
+ * 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.rampart;
+
+import java.util.List;
+
+import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSSecurityEngineResult;
+import org.ietf.jgss.GSSCredential;
+
+public class KerberosDelegationServiceValidator extends PolicyBasedResultsValidator {
+    private static GSSCredential delegationCredential;
+
+    @Override
+    public void validate(ValidatorData data, List<WSSecurityEngineResult> results) throws RampartException {
+        super.validate(data, results);
+        for (WSSecurityEngineResult wsSecEngineResult : results) {
+            Integer actInt = (Integer) wsSecEngineResult.get(WSSecurityEngineResult.TAG_ACTION);
+            if (actInt == WSConstants.BST) {                
+                delegationCredential = (GSSCredential) wsSecEngineResult.
+                                get(WSSecurityEngineResult.TAG_DELEGATION_CREDENTIAL);
+                break;
+            }
+        }
+    }
+    
+    static GSSCredential getDelegationCredential(){
+        return delegationCredential;
+    }
+}
diff --git a/modules/rampart-integration/src/test/java/org/apache/rampart/RampartKerberosTest.java b/modules/rampart-integration/src/test/java/org/apache/rampart/RampartKerberosTest.java
new file mode 100644
index 0000000..c9b27de
--- /dev/null
+++ b/modules/rampart-integration/src/test/java/org/apache/rampart/RampartKerberosTest.java
@@ -0,0 +1,296 @@
+/*
+ * 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.rampart;
+
+import static com.google.common.truth.Truth.assertAbout;
+import static org.apache.axiom.truth.xml.XMLTruth.xml;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.testutils.ClientHelper;
+import org.apache.axis2.testutils.JettyServer;
+import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.commons.io.IOUtils;
+import org.apache.neethi.Policy;
+import org.apache.rampart.policy.model.KerberosConfig;
+import org.apache.rampart.policy.model.RampartConfig;
+import org.apache.rampart.util.KerberosServer;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+/**
+ * Tests Kerberos authentication over transport binding using a Kerberos token as supporting endorsing token.
+ * The test will use Apache DS Kerberos server, see {@link KerberosServer}.
+ * 
+ * The test is tailored for Oracle Java execution since it uses <code>com.sun.security.auth.module.Krb5LoginModule</code> JAAS login module for Kerberos authentication.
+ */
+public class RampartKerberosTest {
+
+    /**
+     * Java system property for setting JAAS configuration file: {@value}
+     */
+    public static final String JAAS_CONF_SYS_PROP = "java.security.auth.login.config";
+    
+    /**
+     * Java system property for setting Kerberos 5 configuration file: {@value}
+     */
+    public static final String KRB5_CONF_SYS_PROP = "java.security.krb5.conf";
+    
+    /**
+     * JAAS configuration file to use: {@value}
+     * <p>
+     * Contains Kerberos login module entries for authenticating client and server principals:
+     * </p>
+     */
+    public static final String KERBEROS_JAAS_CONF = "src/test/resources/kerberos/jaas.conf";
+    
+    /**
+     * Kerberos configuration file <b>template</b> to use: {@value}
+     * <p>
+     * Specifies the Kerberos realm and KDC server to use, the configuration must contain a <code>KDC_PORT</code> literal
+     * which will be replaced with actual KDC server port.
+     * </p>
+     */
+    public static final String KERBEROS_CONF_TEMPLATE = "src/test/resources/kerberos/krb5.conf.template";
+    
+    /**
+     * A token literal in kerberos5 configuration file template that must be replaced with actual KDC port value: {@value}
+     */
+    public static final String KERBEROS_CONF_KDC_PORT_TOKEN = "KDC_PORT";
+    
+    @ClassRule
+    public static final JettyServer server = new JettyServer("target/test-resources/rampart_service_repo", true);
+    
+    @ClassRule
+    public static final ClientHelper clientHelper = new ClientHelper(server, "target/test-resources/rampart_client_repo") {
+        @Override
+        protected void configureServiceClient(ServiceClient serviceClient) throws Exception {
+            int timeout = 200000;
+            serviceClient.getOptions().setTimeOutInMilliSeconds(timeout);
+            serviceClient.getOptions().setProperty(HTTPConstants.SO_TIMEOUT, timeout);
+            serviceClient.getOptions().setProperty(HTTPConstants.CONNECTION_TIMEOUT, timeout);
+
+            serviceClient.engageModule("addressing");
+            serviceClient.engageModule("rampart");
+        }
+    };
+    
+    @ClassRule
+    public static final KerberosServer kerberosServer = new KerberosServer();
+    
+    /**
+     * Stores any original JAAS configuration set via {@link #JAAS_CONF_SYS_PROP} property to restore it after test execution.
+     */
+    protected String jaasConf;
+    
+    /**
+     * Stores any original Kerberos 5 configuration set via {@link #KRB5_CONF_SYS_PROP} property to restore it after test execution.
+     */
+    protected String krb5Conf;
+    
+    private static OMElement getEchoElement() {
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMNamespace omNs = fac.createOMNamespace(
+                "http://example1.org/example1", "example1");
+        OMElement method = fac.createOMElement("echo", omNs);
+        OMElement value = fac.createOMElement("Text", omNs);
+        value.addChild(fac.createOMText(value, "Testing Rampart with WS-SecPolicy"));
+        method.addChild(value);
+
+        return method;
+    }
+
+    @Test
+    public void testKerberosOverTransportKeytab() throws Exception {
+        final String serviceName = "KerberosOverTransportKeytab";
+        
+        ServiceClient serviceClient = clientHelper.createServiceClient(serviceName, null, null);
+
+        System.out.println("Testing WS-Sec: Kerberos scenario: " + serviceName);
+                
+        
+        RampartConfig rampartConfig = new RampartConfig();
+        KerberosConfig kerberosConfig = new KerberosConfig();
+        rampartConfig.setKerberosConfig(kerberosConfig);
+
+        kerberosConfig.setJaasContext(serviceName + "Client");        
+
+        Policy policy = new Policy();
+        policy.addAssertion(rampartConfig);                
+        serviceClient.getAxisService().getPolicySubject().attachPolicyComponent(policy);
+        
+        //Blocking invocation
+        QName operation = new QName("http://rampart.apache.org", "echo");
+        OMElement echoElement = getEchoElement();
+        OMElement result = serviceClient.sendReceive(operation, echoElement);
+        assertAbout(xml()).that(result).ignoringNamespaceDeclarations().hasSameContentAs(echoElement);
+    }
+    
+    @Test
+    public void testKerberosOverTransportPWCB() throws Exception {
+        final String serviceName = "KerberosOverTransportPWCB";
+        
+        ServiceClient serviceClient = clientHelper.createServiceClient(serviceName, null, null);
+
+        System.out.println("Testing WS-Sec: Kerberos scenario: " + serviceName);
+
+        RampartConfig rampartConfig = new RampartConfig();
+        rampartConfig.setUser("alice");        
+        rampartConfig.setPwCbClass(org.apache.rahas.PWCallback.class.getName());
+        
+        KerberosConfig kerberosConfig = new KerberosConfig();
+        rampartConfig.setKerberosConfig(kerberosConfig);
+
+        kerberosConfig.setJaasContext(serviceName + "Client");
+
+        Policy policy = new Policy();
+        policy.addAssertion(rampartConfig);        
+        serviceClient.getAxisService().getPolicySubject().attachPolicyComponent(policy);
+        
+        //Blocking invocation
+        QName operation = new QName("http://rampart.apache.org", "echo");
+        OMElement echoElement = getEchoElement();
+        OMElement result = serviceClient.sendReceive(operation, echoElement);
+        assertAbout(xml()).that(result).ignoringNamespaceDeclarations().hasSameContentAs(echoElement);
+    }
+    
+    @Test
+    public void testKerberosDelegation() throws Exception {
+        final String serviceName = "KerberosDelegation";
+
+        ServiceClient serviceClient = clientHelper.createServiceClient(serviceName, null, null);
+
+        System.out.println("Testing WS-Sec: Kerberos scenario: " + serviceName);
+                
+        
+        RampartConfig rampartConfig = new RampartConfig();
+        KerberosConfig kerberosConfig = new KerberosConfig();
+        rampartConfig.setKerberosConfig(kerberosConfig);
+
+        kerberosConfig.setJaasContext(serviceName + "Client");  
+        kerberosConfig.setRequstCredentialDelegation(true);
+
+        Policy policy = new Policy();
+        policy.addAssertion(rampartConfig);                
+        serviceClient.getAxisService().getPolicySubject().attachPolicyComponent(policy);
+        
+        //Blocking invocation
+        QName operation = new QName("http://rampart.apache.org", "echo");
+        OMElement echoElement = getEchoElement();
+        OMElement result = serviceClient.sendReceive(operation, echoElement);
+        assertAbout(xml()).that(result).ignoringNamespaceDeclarations().hasSameContentAs(echoElement);
+    }
+    
+    @Before
+    public void setUp() throws Exception {
+        System.setProperty("sun.security.krb5.debug", "true");
+        System.setProperty("sun.security.jgss.debug", "true");
+        
+        //configure JGSS
+        krb5Conf = System.getProperty(KRB5_CONF_SYS_PROP);
+        
+        File krb5ConfFile = generateKerberosConf();
+        System.out.println("Using Kerberos configuration file: " + krb5ConfFile.getAbsolutePath());
+        System.setProperty(KRB5_CONF_SYS_PROP, krb5ConfFile.getAbsolutePath());
+        
+        //configure JAAS
+        jaasConf = System.getProperty(JAAS_CONF_SYS_PROP);
+        System.out.println("Using Kerberos JAAS configuration file: " + new File(KERBEROS_JAAS_CONF).getAbsolutePath());
+        System.setProperty(JAAS_CONF_SYS_PROP, KERBEROS_JAAS_CONF);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        if (jaasConf != null) {
+            System.setProperty(JAAS_CONF_SYS_PROP, jaasConf);
+        }
+        else {
+            System.clearProperty(JAAS_CONF_SYS_PROP);
+        }
+        
+        if (krb5Conf != null) {
+            System.setProperty(KRB5_CONF_SYS_PROP, krb5Conf);
+        }
+        else {
+            System.clearProperty(KRB5_CONF_SYS_PROP);
+        }
+    }
+    
+    /**
+     * Generates a Kerberos configuration file (krb5.conf) out of the {@link #KERBEROS_CONF_TEMPLATE} file,
+     * replacing the {@link #KERBEROS_CONF_KDC_PORT_TOKEN} with actual KDC port.
+     * 
+     * @return The generated Kerberos configuration file. It will be generated under the following path:
+     * <code>target/tmp/{thisClassSimpleName}_krb5.conf</code>
+     * 
+     * @throws IOException 
+     */
+    protected File generateKerberosConf() throws IOException {
+        File tmpDir = new File("target" + File.separator + "tmp");
+        if (!tmpDir.exists() && !tmpDir.mkdirs()) {
+            throw new RuntimeException("Failed to create temp directory: " + tmpDir.getAbsolutePath());
+        }
+        
+        File krb5ConfTemplate = new File(KERBEROS_CONF_TEMPLATE);
+        if (!krb5ConfTemplate.exists()) {
+            throw new IllegalArgumentException("Cannot find kerberos configuration file template: " + krb5ConfTemplate.getAbsolutePath());
+        }
+        
+        FileInputStream krb5ConfTemplateIn = null;
+        String krb5ConfContent;
+        try {
+            krb5ConfTemplateIn = new FileInputStream(krb5ConfTemplate);
+            krb5ConfContent = IOUtils.toString(krb5ConfTemplateIn);
+        }
+        finally {
+            IOUtils.closeQuietly(krb5ConfTemplateIn);
+        }
+        
+        if (krb5ConfContent.indexOf(KERBEROS_CONF_KDC_PORT_TOKEN) == -1) {
+            throw new IllegalArgumentException(String.format("Cannot find any %s token in kerberos configuration file template: %s",
+                    KERBEROS_CONF_KDC_PORT_TOKEN, krb5ConfTemplate.getAbsolutePath()));
+        }
+            
+        krb5ConfContent = krb5ConfContent.replace(KERBEROS_CONF_KDC_PORT_TOKEN, String.valueOf(kerberosServer.getPort()));
+        
+        File krb5Conf = new File(tmpDir, this.getClass().getSimpleName() + "_krb5.conf");
+        FileOutputStream krb5ConfOut = null;
+        try {
+            krb5ConfOut = new FileOutputStream(krb5Conf);
+            IOUtils.write(krb5ConfContent, krb5ConfOut);
+        }
+        finally {
+            IOUtils.closeQuietly(krb5ConfOut);
+        }
+        
+        return krb5Conf;
+    }
+}
diff --git a/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java b/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
index 7451dd4..1791434 100644
--- a/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
+++ b/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
@@ -16,7 +16,10 @@
 
 package org.apache.rampart;
 
-import junit.framework.TestCase;
+import static org.apache.axis2.integration.TestConstants.TESTING_PATH;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
@@ -25,26 +28,47 @@
 import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
 import org.apache.axis2.context.ServiceContext;
-import org.apache.axis2.integration.UtilServer;
+import org.apache.axis2.testutils.ClientHelper;
+import org.apache.axis2.testutils.JettyServer;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyEngine;
+import org.junit.Rule;
+import org.junit.Test;
 
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
-
-public class RampartTest extends TestCase {
-
-    public final static int PORT = UtilServer.TESTING_PORT;
+public class RampartTest {
 
     private static ResourceBundle resources;
-
+    
+    @Rule
+    public final JettyServer server = new JettyServer(TESTING_PATH + "rampart_service_repo", false);
+    
+    @Rule
+    public final ClientHelper clientHelper = new ClientHelper(server, TESTING_PATH + "rampart_client_repo") {
+        @Override
+        protected void configureServiceClient(ServiceClient serviceClient) throws Exception {
+            serviceClient.engageModule("addressing");
+            serviceClient.engageModule("rampart");
+        }
+    };
+    
+    @Rule
+    public final JettyServer secureServer = new JettyServer(TESTING_PATH + "rampart_service_repo", true);
+    
+    @Rule
+    public final ClientHelper secureClientHelper = new ClientHelper(secureServer, TESTING_PATH + "rampart_client_repo") {
+        @Override
+        protected void configureServiceClient(ServiceClient serviceClient) throws Exception {
+            serviceClient.engageModule("addressing");
+            serviceClient.engageModule("rampart");
+        }
+    };
+    
     static {
         try {
             resources = ResourceBundle.getBundle("org.apache.rampart.errors");
@@ -53,40 +77,9 @@
         }
     }
 
-    public RampartTest(String name) {
-        super(name);
-    }
-
-    protected void setUp() throws Exception {
-        UtilServer.start(Constants.TESTING_PATH + "rampart_service_repo" ,null);
-    }
-    
-
-    protected void tearDown() throws Exception {
-        UtilServer.stop();
-    }
-
-    private ServiceClient getServiceClientInstance() throws AxisFault {
-
-        String repository = Constants.TESTING_PATH + "rampart_client_repo";
-
-        ConfigurationContext configContext = ConfigurationContextFactory.
-                createConfigurationContextFromFileSystem(repository, null);
-        ServiceClient serviceClient = new ServiceClient(configContext, null);
-
-
-        serviceClient.engageModule("addressing");
-        serviceClient.engageModule("rampart");
-
-        return serviceClient;
-
-    }
-
+    @Test
     public void testWithPolicy() {
         try {
-
-            ServiceClient serviceClient = getServiceClientInstance();
-
             //TODO : figure this out !!
             boolean basic256Supported = false;
             
@@ -96,7 +89,7 @@
             }
 
             //for (int i = 34; i <= 34; i++) { //<-The number of tests we have
-            for (int i = 1; i <= 34; i++) { //<-The number of tests we have
+            for (int i = 1; i <= 35; i++) { //<-The number of tests we have
                 if(!basic256Supported && (i == 3 || i == 4 || i == 5)) {
                     //Skip the Basic256 tests
                     continue;
@@ -106,25 +99,22 @@
                     // Testcase - 25 is failing, for the moment skipping it.
                     continue;
                 }
-                Options options = new Options();
+                
+                ServiceClient serviceClient = (i == 13 ? secureClientHelper : clientHelper).createServiceClient("SecureService" + i);
+                Options options = serviceClient.getOptions();
                 
                 if( i == 13 ) {
-                    continue; // Can't test Transport binding with Simple HTTP Server
                     //Username token created with user/pass from options
-                    //options.setUserName("alice");
-                    //options.setPassword("password");
+                    options.setUserName("alice");
+                    options.setPassword("password");
                 }
                 
                 System.out.println("Testing WS-Sec: custom scenario " + i);
                 options.setAction("urn:echo");
-                options.setTo(new EndpointReference("http://127.0.0.1:" +
-                                        PORT +  
-                                        "/axis2/services/SecureService" + i));
-                
+
                 ServiceContext context = serviceClient.getServiceContext();
                 context.setProperty(RampartMessageData.KEY_RAMPART_POLICY, 
                         loadPolicy("/rampart/policy/" + i + ".xml"));
-                serviceClient.setOptions(options);
                 
                 if (i == 31) {
                     OMNamespace omNamespace = OMAbstractFactory.getOMFactory().createOMNamespace(
@@ -178,22 +168,21 @@
                     //Skip the Basic256 tests
                     continue;
                 }
-                Options options = new Options();
+                
+                ServiceClient serviceClient = (i == 13 ? secureClientHelper : clientHelper).createServiceClient("SecureService" + i);
+                Options options = serviceClient.getOptions();
 
                 if (i == 13) {
-                    continue;
+                    //Username token created with user/pass from options
+                    options.setUserName("alice");
+                    options.setPassword("password");
                 }
-
                 System.out.println("Testing WS-Sec: negative scenario " + i);
                 options.setAction("urn:returnError");
-                options.setTo(new EndpointReference("http://127.0.0.1:" +
-                        PORT +
-                        "/axis2/services/SecureService" + i));
 
                 ServiceContext context = serviceClient.getServiceContext();
                 context.setProperty(RampartMessageData.KEY_RAMPART_POLICY,
                         loadPolicy("/rampart/policy/" + i + ".xml"));
-                serviceClient.setOptions(options);
 
                 try {
                     //Blocking invocation
@@ -207,21 +196,19 @@
 
             
             for (int i = 1; i <= 6; i++) { //<-The number of tests we have
-                
+                ServiceClient serviceClient;
                 if (i == 3 || i == 6) {
-                    continue; // Can't test Transport binding scenarios with Simple HTTP Server
+                    serviceClient = secureClientHelper.createServiceClient("SecureServiceSC" + i);
                 }
+                else {
+                    serviceClient = clientHelper.createServiceClient("SecureServiceSC" + i);
+                }
+                Options options = serviceClient.getOptions();
 
-                Options options = new Options();
                 System.out.println("Testing WS-SecConv: custom scenario " + i);
                 options.setAction("urn:echo");
-                options.setTo(new EndpointReference("http://127.0.0.1:" + PORT + "/axis2/services/SecureServiceSC" + i));
-
-                //Create a new service client instance for each secure conversation scenario
-                serviceClient = getServiceClientInstance();
 
                 serviceClient.getServiceContext().setProperty(RampartMessageData.KEY_RAMPART_POLICY, loadPolicy("/rampart/policy/sc-" + i + ".xml"));
-                serviceClient.setOptions(options);
 
                 //Blocking invocation
                 serviceClient.sendReceive(getEchoElement());
diff --git a/modules/rampart-integration/src/test/java/org/apache/rampart/util/KerberosServer.java b/modules/rampart-integration/src/test/java/org/apache/rampart/util/KerberosServer.java
new file mode 100644
index 0000000..e9533e3
--- /dev/null
+++ b/modules/rampart-integration/src/test/java/org/apache/rampart/util/KerberosServer.java
@@ -0,0 +1,207 @@
+/**
+ * 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.rampart.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.DatagramSocket;
+import java.nio.file.Files;
+import java.security.Provider;
+import java.security.Security;
+import java.util.List;
+
+import org.apache.axis2.testutils.PortAllocator;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.directory.api.ldap.model.entry.DefaultEntry;
+import org.apache.directory.api.ldap.model.ldif.LdifEntry;
+import org.apache.directory.api.ldap.model.ldif.LdifReader;
+import org.apache.directory.server.core.api.DirectoryService;
+import org.apache.directory.server.core.api.interceptor.Interceptor;
+import org.apache.directory.server.core.api.partition.Partition;
+import org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory;
+import org.apache.directory.server.core.factory.DirectoryServiceFactory;
+import org.apache.directory.server.core.factory.PartitionFactory;
+import org.apache.directory.server.core.kerberos.KeyDerivationInterceptor;
+import org.apache.directory.server.kerberos.KerberosConfig;
+import org.apache.directory.server.kerberos.kdc.KdcServer;
+import org.apache.directory.server.protocol.shared.transport.Transport;
+import org.apache.directory.server.protocol.shared.transport.UdpTransport;
+import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
+import org.junit.rules.ExternalResource;
+
+/**
+ * Runs an Apache DS Kerberos server.
+ */
+public final class KerberosServer extends ExternalResource {
+
+    private static final Log log = LogFactory.getLog(KerberosServer.class);
+    
+    /**
+     * The used DirectoryService instance
+     */
+    private DirectoryService directoryService;
+
+    /**
+     * The used KdcServer instance
+     */
+    private KdcServer kdcServer;
+
+    private Provider provider;
+    private int providerPos = 2;
+    
+    private File workDir;
+    
+    @Override
+    protected void before() throws Throwable {
+        int kdcPort = PortAllocator.allocatePort();
+        
+        DatagramSocket datagramSocket = new DatagramSocket(kdcPort);
+        datagramSocket.setReuseAddress(true);
+        datagramSocket.close();
+
+        //Ok, apache ds doesn't like the bouncy castle provider at position 2
+        //Caused by: KrbException: Integrity check on decrypted field failed (31) - Integrity check on decrypted field failed
+        Provider[] installedProviders = Security.getProviders();
+        for (int i = 0; i < installedProviders.length; i++) {
+            Provider installedProvider = installedProviders[i];
+            if ("BC".equals(installedProvider.getName())) {
+                provider = installedProvider;
+                providerPos = i;
+                Security.removeProvider("BC");
+                break;
+            }
+        }
+        if (provider != null) {
+            Security.addProvider(provider);
+        }
+        
+        workDir = Files.createTempDirectory("server-work").toFile();
+        
+        DirectoryServiceFactory directoryServiceFactory = new DefaultDirectoryServiceFactory();
+        directoryService = directoryServiceFactory.getDirectoryService();
+        directoryService.setAccessControlEnabled(false);
+        directoryService.setAllowAnonymousAccess(false);
+        directoryService.getChangeLog().setEnabled(true);
+        
+        List<Interceptor> interceptors = directoryService.getInterceptors();
+        interceptors.add(new KeyDerivationInterceptor());
+        directoryService.setInterceptors(interceptors);
+        directoryServiceFactory.init("defaultDS");
+
+        PartitionFactory partitionFactory = directoryServiceFactory.getPartitionFactory();
+        Partition partition = partitionFactory.createPartition(directoryService.getSchemaManager(),
+            directoryService.getDnFactory(), "example", "dc=example,dc=com", 1000, workDir);
+
+        partitionFactory.addIndex(partition, "objectClass", 1000);
+        partitionFactory.addIndex(partition, "dc", 1000);
+        partitionFactory.addIndex(partition, "ou", 1000);
+
+        partition.setSchemaManager(directoryService.getSchemaManager());
+        // Inject the partition into the DirectoryService
+        directoryService.addPartition(partition);
+
+        InputStream is = KerberosServer.class.getClassLoader().getResourceAsStream("kerberos/users.ldif");
+        LdifReader ldifReader = new LdifReader(is);
+        for (LdifEntry entry : ldifReader) {
+            directoryService.getAdminSession().add(new DefaultEntry(directoryService.getSchemaManager(), entry.getEntry()));
+        }
+        ldifReader.close();
+
+        KerberosConfig kerberosConfig = new KerberosConfig();
+        kerberosConfig.setServicePrincipal("krbtgt/EXAMPLE.COM@EXAMPLE.COM");
+        kerberosConfig.setPrimaryRealm("EXAMPLE.COM");
+        kerberosConfig.setSearchBaseDn("dc=example,dc=com");
+        kerberosConfig.setMaximumTicketLifetime(60000 * 1440);
+        kerberosConfig.setMaximumRenewableLifetime(60000 * 10080);
+        kerberosConfig.setEncryptionTypes(new EncryptionType[]{EncryptionType.AES128_CTS_HMAC_SHA1_96});
+        
+        kdcServer = new KdcServer(kerberosConfig);
+        kdcServer.setServiceName("DefaultKrbServer");        
+        
+        final String kdcHostname = "localhost";
+        log.info(String.format("Starting service on %s:%s", kdcHostname, kdcPort));
+        
+        UdpTransport udp = new UdpTransport(kdcHostname, kdcPort);
+        kdcServer.addTransports(udp);
+        kdcServer.setDirectoryService(directoryService);
+        kdcServer.start();
+    }
+
+    /**
+     * @return The Apache DS Kerberos server port.
+     * @throws IllegalArgumentException If server or respective transport are not initialized
+     */
+    public int getPort() throws IllegalArgumentException {
+        if (kdcServer == null) {
+            throw new IllegalStateException("Kerberos server is not initialized");
+        }
+
+        Transport[] transports =  kdcServer.getTransports();
+        if (transports == null || transports.length == 0) {
+            throw new IllegalStateException("Kerberos server does not configure any transports");
+        }
+        
+        for (Transport transport : transports) {
+            if (transport instanceof UdpTransport) {
+                return transport.getPort();
+            }
+        }
+        
+        throw new IllegalStateException(
+                String.format("Cannot identify Kerberos server port. List of transports does not contain an %s instance",
+                        UdpTransport.class.getName()));
+    } 
+    
+    @Override
+    protected void after() {
+        log.info("Stop called");
+        try {        
+            if (directoryService != null) {
+                try {
+                    directoryService.shutdown();
+                } catch (Exception ex) {
+                    log.error("Failed to stop server", ex);
+                } finally {
+                    try {
+                        FileUtils.deleteDirectory(workDir);
+                    }
+                    catch (IOException e) {
+                        log.error("Failed to delete Apache DS working directory: " + workDir.getAbsolutePath() , e);
+                    }
+                }
+                directoryService = null;
+            }
+        }
+        finally {
+            if (kdcServer != null) {
+                kdcServer.stop();
+                kdcServer = null;
+            }
+            
+            if (provider != null) {
+                //restore BC position
+                Security.removeProvider("BC");
+                Security.insertProviderAt(provider, providerPos);
+            }
+        }
+    }
+}
diff --git a/modules/rampart-integration/src/test/java/org/apache/rampart/util/KerberosTokenDecoderImpl.java b/modules/rampart-integration/src/test/java/org/apache/rampart/util/KerberosTokenDecoderImpl.java
new file mode 100644
index 0000000..8779ff1
--- /dev/null
+++ b/modules/rampart-integration/src/test/java/org/apache/rampart/util/KerberosTokenDecoderImpl.java
@@ -0,0 +1,156 @@
+/**
+ * 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.rampart.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.security.auth.Subject;
+
+import org.apache.directory.shared.kerberos.codec.KerberosDecoder;
+import org.apache.directory.shared.kerberos.components.EncTicketPart;
+import org.apache.ws.security.WSSecurityException;
+import org.apache.ws.security.validate.KerberosTokenDecoder;
+
+/**
+ * A copy of wss4j 2.0 Kerberos token decoder implementation.
+ * 
+ * @see org.apache.wss4j.common.kerberos.KerberosTokenDecoderImpl
+ * 
+ * TODO Once Rampart adopts wss4j 2.0, this class must be removed in favor of wss4j's
+ */
+public class KerberosTokenDecoderImpl implements KerberosTokenDecoder {
+    
+    private static final String KERBEROS_OID = "1.2.840.113554.1.2.2";
+
+    private byte[] serviceTicket;
+    private Subject subject;
+
+    private boolean decoded = false;
+    private EncTicketPart encTicketPart;
+
+    /**
+     * Clear all internal information
+     */
+    public void clear() {
+        serviceTicket = null;
+        subject = null;
+        decoded = false;
+        encTicketPart = null;
+    }
+
+    /**
+     * Set the AP-REQ Kerberos Token
+     *
+     * @param token the AP-REQ Kerberos Token
+     */
+    public void setToken(byte[] token) {
+        serviceTicket = token;
+    }
+
+    /**
+     * Set the Subject
+     *
+     * @param subject the Subject
+     */
+    public void setSubject(Subject subject) {
+        this.subject = subject;
+    }
+
+    /**
+     * Get the session key from the token
+     *
+     * @return the session key from the token
+     */
+    public byte[] getSessionKey() {
+        if (!decoded) {
+            decodeServiceTicket();
+        }
+        if (encTicketPart != null && encTicketPart.getKey() != null) {
+            return encTicketPart.getKey().getKeyValue();
+        }
+        return null;
+    }
+
+    /**
+     * Get the client principal name from the decoded service ticket.
+     *
+     * @return the client principal name
+     */
+    public String getClientPrincipalName() {
+        if (!decoded) {
+            decodeServiceTicket();
+        }
+        return encTicketPart.getCName().toString();
+    }
+
+    // Decode the service ticket.
+    private synchronized void decodeServiceTicket() {
+        parseServiceTicket(serviceTicket);
+        decoded = true;
+    }
+
+    // Parses the service ticket (GSS AP-REQ token)
+    private void parseServiceTicket(byte[] ticket) {
+        try {
+            // I didn't find a better way how to parse this Kerberos Message...
+            org.bouncycastle.asn1.ASN1InputStream asn1InputStream =
+                    new org.bouncycastle.asn1.ASN1InputStream(new ByteArrayInputStream(ticket));
+            org.bouncycastle.asn1.DERApplicationSpecific derToken =
+                    (org.bouncycastle.asn1.DERApplicationSpecific) asn1InputStream.readObject();
+            if (derToken == null || !derToken.isConstructed()) {
+                asn1InputStream.close();
+                throw new WSSecurityException("invalid kerberos token");
+            }
+            asn1InputStream.close();
+
+            asn1InputStream = new org.bouncycastle.asn1.ASN1InputStream(new ByteArrayInputStream(derToken.getContents()));
+            org.bouncycastle.asn1.DERObjectIdentifier kerberosOid =
+                    (org.bouncycastle.asn1.DERObjectIdentifier) asn1InputStream.readObject();
+            if (!kerberosOid.getId().equals(KERBEROS_OID)) {
+                asn1InputStream.close();
+                throw new WSSecurityException("invalid kerberos token");
+            }
+
+            int readLowByte = asn1InputStream.read() & 0xff;
+            int readHighByte = asn1InputStream.read() & 0xff;
+            int read = (readHighByte << 8) + readLowByte; //NOPMD
+            if (read != 0x01) {
+                throw new WSSecurityException("invalid kerberos token");
+            }
+            
+            this.encTicketPart = KerberosDecoder.decodeEncTicketPart(toByteArray(asn1InputStream));
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static byte[] toByteArray(InputStream inputStream) throws IOException {
+        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+        int read;
+        byte[] buf = new byte[1024];
+        while ((read = inputStream.read(buf)) != -1) {
+            byteArrayOutputStream.write(buf, 0, read);
+        }
+        return byteArrayOutputStream.toByteArray();
+    }
+}
diff --git a/modules/rampart-integration/src/test/resources/conf/axis2.xml b/modules/rampart-integration/src/test/resources/conf/axis2.xml
index d4d8ec2..12059a9 100755
--- a/modules/rampart-integration/src/test/resources/conf/axis2.xml
+++ b/modules/rampart-integration/src/test/resources/conf/axis2.xml
@@ -91,32 +91,16 @@
     <!-- ================================================= -->

     <!-- Transport Ins -->

     <!-- ================================================= -->

+    <!-- The default configuration assumes that AxisServlet only receives requests

+         through HTTP. To allow HTTPS as well, configure a second AxisServletListener

+         with name="https" and specify the port parameter on both receivers.

+         For more information, please have a look at the servlet transport documentation:

+         http://axis.apache.org/axis2/java/core/docs/servlet-transport.html -->

     <transportReceiver name="http"

-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-        <!-- Here is the complete list of supported parameters (see example settings further below):

-            port: the port to listen on (default 6060)

-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)

-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")

-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)

-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)

-                                false to minimize bandwidth consumption by combining segments

-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)

-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills us         (default 150)

-                                       note that default queue never fills up:  see HttpFactory

-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)

-                                  note that no such threads can exist with default unbounded request queue

-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)

-        -->

-        <!-- <parameter name="hostname"                  locked="false">http://www.myApp.com/ws</parameter> -->

-        <!-- <parameter name="originServer"              locked="false">My-Server/1.1</parameter>           -->

-        <!-- <parameter name="requestTimeout"            locked="false">10000</parameter>                   -->

-        <!-- <parameter name="requestTcpNoDelay"         locked="false">false</parameter>                   -->

-        <!-- <parameter name="requestCoreThreadPoolSize" locked="false">50</parameter>                      -->

-        <!-- <parameter name="RequestMaxThreadPoolSize"  locked="false">100</parameter>                     -->

-        <!-- <parameter name="threadKeepAliveTime"       locked="false">240000</parameter>                  -->

-        <!-- <parameter name="threadKeepAliveTimeUnit"   locked="false">MILLISECONDS</parameter>            -->

-    </transportReceiver>

+                       class="org.apache.axis2.transport.http.AxisServletListener"/>

+                       

+    <transportReceiver name="https"

+                       class="org.apache.axis2.transport.http.AxisServletListener"/>

     

     <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)

     <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">

@@ -155,12 +139,12 @@
     <transportSender name="local"

                      class="org.apache.axis2.transport.local.LocalTransportSender"/>

     <transportSender name="http"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

+                     class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender">

         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

         <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

     </transportSender>

     <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

+                     class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender">

         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

         <parameter name="Transfer-Encoding" locked="false">chunked</parameter>

     </transportSender>

@@ -179,9 +163,10 @@
     <!-- ================================================= -->

     <!-- Global Modules  -->

     <!-- ================================================= -->

-    <!-- Comment this to disable Addressing -->

+    <!-- Comment this to disable Addressing 

     <module ref="addressing"/>

-

+    -->

+    

     <!--Configuring module , providing parameters for modules whether they refer or not-->

     <moduleConfig name="addressing">

         <parameter name="includeOptionalHeaders" locked="false">true</parameter>

diff --git a/modules/rampart-integration/src/test/resources/kerberos/alice.keytab b/modules/rampart-integration/src/test/resources/kerberos/alice.keytab
new file mode 100644
index 0000000..053b248
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/kerberos/alice.keytab
Binary files differ
diff --git a/modules/rampart-integration/src/test/resources/kerberos/bob.keytab b/modules/rampart-integration/src/test/resources/kerberos/bob.keytab
new file mode 100644
index 0000000..5be6b13
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/kerberos/bob.keytab
Binary files differ
diff --git a/modules/rampart-integration/src/test/resources/kerberos/jaas.conf b/modules/rampart-integration/src/test/resources/kerberos/jaas.conf
new file mode 100644
index 0000000..b236d4a
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/kerberos/jaas.conf
@@ -0,0 +1,49 @@
+KerberosOverTransportKeytab {
+    com.sun.security.auth.module.Krb5LoginModule required
+        useKeyTab=true
+        keyTab="target/test-classes/kerberos/bob.keytab"
+        principal=bob
+        storeKey=true
+        isInitiator=false
+        refreshKrb5Config=true;
+};
+
+KerberosOverTransportKeytabClient {
+    com.sun.security.auth.module.Krb5LoginModule required
+        useKeyTab=true
+        keyTab="target/test-classes/kerberos/alice.keytab"
+        principal=alice
+        refreshKrb5Config=true;
+};
+
+KerberosOverTransportPWCB {
+    com.sun.security.auth.module.Krb5LoginModule required
+        principal=bob
+        storeKey=true
+        isInitiator=false
+        refreshKrb5Config=true;
+};
+
+KerberosOverTransportPWCBClient {
+    com.sun.security.auth.module.Krb5LoginModule required
+        principal=alice
+        refreshKrb5Config=true;
+};
+
+KerberosDelegation {
+    com.sun.security.auth.module.Krb5LoginModule required
+        useKeyTab=true
+        keyTab="target/test-classes/kerberos/bob.keytab"
+        principal=bob
+        storeKey=true
+        isInitiator=true
+        refreshKrb5Config=true;
+};
+
+KerberosDelegationClient {
+    com.sun.security.auth.module.Krb5LoginModule required
+        useKeyTab=true
+        keyTab="target/test-classes/kerberos/alice.keytab"
+        principal=alice
+        refreshKrb5Config=true;
+};
\ No newline at end of file
diff --git a/modules/rampart-integration/src/test/resources/kerberos/krb5.conf.template b/modules/rampart-integration/src/test/resources/kerberos/krb5.conf.template
new file mode 100644
index 0000000..30a9ebf
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/kerberos/krb5.conf.template
@@ -0,0 +1,8 @@
+[libdefaults]
+	default_realm = EXAMPLE.COM
+	forwardable = true	
+
+[realms]
+	EXAMPLE.COM = {
+		kdc = localhost:KDC_PORT
+	}
\ No newline at end of file
diff --git a/modules/rampart-integration/src/test/resources/kerberos/readme b/modules/rampart-integration/src/test/resources/kerberos/readme
new file mode 100644
index 0000000..9c04c80
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/kerberos/readme
@@ -0,0 +1,9 @@
+In order to create alice.keytab and bob.keytab, in src/test/resources/kerberos directory, execute the following commands depending on the underlying OS:
+
+Windows:
+<java_home>/bin/ktab.exe -a alice@EXAMPLE.COM password -k alice.keytab
+<java_home>/bin/ktab.exe -a bob@EXAMPLE.COM password -k bob.keytab
+
+Unix (requires ktutil)
+ktutil add_entry -password -p alice@EXAMPLE.COM -k 1 -e aes128-cts-hmac-sha1-96\npassword\n write_kt alice.keytab\n quit
+ktutil add_entry -password -p bob@EXAMPLE.COM -k 1 -e aes128-cts-hmac-sha1-96\npassword\n write_kt bob.keytab\n quit 
\ No newline at end of file
diff --git a/modules/rampart-integration/src/test/resources/kerberos/users.ldif b/modules/rampart-integration/src/test/resources/kerberos/users.ldif
new file mode 100644
index 0000000..f0557ec
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/kerberos/users.ldif
@@ -0,0 +1,60 @@
+version: 1
+
+dn: dc=example,dc=com
+objectClass: top
+objectClass: domain
+objectClass: extensibleObject
+dc: example
+
+dn: ou=users,dc=example,dc=com
+objectClass: top
+objectClass: organizationalUnit
+ou: users
+
+dn: ou=services,dc=example,dc=com
+objectClass: top
+objectClass: organizationalUnit
+ou: services
+
+dn: krb5PrincipalName=bob@EXAMPLE.COM+uid=bob+sn=bob+cn=bob,ou=services,dc=example,dc=com
+objectClass: top
+objectClass: inetOrgPerson
+objectClass: krb5KDCEntry
+objectClass: uidObject
+objectClass: person
+objectClass: krb5Principal
+objectClass: organizationalPerson
+cn: bob
+krb5KeyVersionNumber: 0
+krb5PrincipalName: bob@EXAMPLE.COM
+sn: bob
+uid: bob
+userPassword: password
+
+dn: uid=krbtgt+krb5PrincipalName=krbtgt/EXAMPLE.COM@EXAMPLE.COM+ou=TGT,ou=se
+ rvices,dc=example,dc=com
+objectClass: top
+objectClass: organizationalUnit
+objectClass: krb5KDCEntry
+objectClass: uidObject
+objectClass: krb5Principal
+krb5KeyVersionNumber: 0
+krb5PrincipalName: krbtgt/EXAMPLE.COM@EXAMPLE.COM
+ou: TGT
+uid: krbtgt
+userPassword: randomKey
+
+dn: cn=alice+krb5PrincipalName=alice@EXAMPLE.COM+uid=alice,ou=users,dc=example,dc=com
+objectClass: top
+objectClass: krb5KDCEntry
+objectClass: inetOrgPerson
+objectClass: uidObject
+objectClass: krb5Principal
+objectClass: person
+objectClass: organizationalPerson
+cn: alice
+krb5KeyVersionNumber: 0
+krb5PrincipalName: alice@EXAMPLE.COM
+sn: alice
+uid: alice
+userPassword: password
diff --git a/modules/rampart-integration/src/test/resources/log4j.properties b/modules/rampart-integration/src/test/resources/log4j.properties
index 8a80313..b81a5b4 100644
--- a/modules/rampart-integration/src/test/resources/log4j.properties
+++ b/modules/rampart-integration/src/test/resources/log4j.properties
@@ -23,3 +23,9 @@
 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

 log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c - %m%n

 

+log4j.appender.JETTY=org.apache.log4j.ConsoleAppender

+log4j.appender.JETTY.layout=org.apache.log4j.PatternLayout

+log4j.appender.JETTY.layout.ConversionPattern=[%C{1}] - %m%n

+

+log4j.category.org.apache.axis2.integration.JettyServer=INFO, JETTY

+log4j.additivity.org.apache.axis2.integration.JettyServer = false

diff --git a/modules/rampart-integration/src/test/resources/rahas/1.xml b/modules/rampart-integration/src/test/resources/rahas/1.xml
new file mode 100644
index 0000000..9446a8c
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rahas/1.xml
@@ -0,0 +1,74 @@
+<wsp:Policy wsu:Id="SigEncr" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+	<wsp:ExactlyOne>
+		<wsp:All>
+			<sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<wsp:Policy>
+					<sp:InitiatorToken>
+						<wsp:Policy>
+							<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
+								<wsp:Policy>
+									<sp:WssX509V3Token10/>
+								</wsp:Policy>
+							</sp:X509Token>
+						</wsp:Policy>
+					</sp:InitiatorToken>
+					<sp:RecipientToken>
+						<wsp:Policy>
+							<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+								<wsp:Policy>
+									<sp:WssX509V3Token10/>
+								</wsp:Policy>
+							</sp:X509Token>
+						</wsp:Policy>
+					</sp:RecipientToken>
+					<sp:AlgorithmSuite>
+						<wsp:Policy>
+							<sp:Basic128/>
+						</wsp:Policy>
+					</sp:AlgorithmSuite>
+					<sp:Layout>
+						<wsp:Policy>
+							<sp:Strict/>
+						</wsp:Policy>
+					</sp:Layout>
+					<sp:IncludeTimestamp/>
+					<sp:OnlySignEntireHeadersAndBody/>
+				</wsp:Policy>
+			</sp:AsymmetricBinding>
+			<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<wsp:Policy>
+					<sp:MustSupportRefKeyIdentifier/>
+					<sp:MustSupportRefIssuerSerial/>
+				</wsp:Policy>
+			</sp:Wss10>
+			<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<sp:Body/>
+			</sp:SignedParts>
+			<sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<sp:Body/>
+			</sp:EncryptedParts>
+
+		<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 
+				<ramp:user>alice</ramp:user>
+				<ramp:encryptionUser>ip</ramp:encryptionUser>
+				<ramp:passwordCallbackClass>org.apache.rahas.PWCallback</ramp:passwordCallbackClass>
+				
+				<ramp:signatureCrypto>
+					<ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+						<ramp:property name="org.apache.ws.security.crypto.merlin.file">rahas/rahas-sts.jks</ramp:property>
+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
+					</ramp:crypto>
+				</ramp:signatureCrypto>
+				<ramp:encryptionCypto>
+					<ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+						<ramp:property name="org.apache.ws.security.crypto.merlin.file">rahas/rahas-sts.jks</ramp:property>
+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
+					</ramp:crypto>
+				</ramp:encryptionCypto>
+			</ramp:RampartConfig>
+				
+		</wsp:All>
+	</wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-integration/src/test/resources/rahas/3.xml b/modules/rampart-integration/src/test/resources/rahas/3.xml
new file mode 100644
index 0000000..8fd5491
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rahas/3.xml
@@ -0,0 +1,37 @@
+<wsp:Policy wsu:Id="UTOverTransport" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+<wsp:ExactlyOne>
+  <wsp:All>
+	<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+	  <wsp:Policy>
+		<sp:TransportToken>
+		  <wsp:Policy>
+			<!--  <sp:HttpsToken RequireClientCertificate="false"/>  -->
+		  </wsp:Policy>
+		</sp:TransportToken>
+		<sp:AlgorithmSuite>
+		  <wsp:Policy>
+			<sp:Basic128/>
+		  </wsp:Policy>
+		</sp:AlgorithmSuite>
+		<sp:Layout>
+		  <wsp:Policy>
+			<sp:Lax/>
+		  </wsp:Policy>
+		</sp:Layout>
+		<sp:IncludeTimestamp/>
+	  </wsp:Policy>
+	</sp:TransportBinding>
+	<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+		<wsp:Policy>
+			<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" />
+	  </wsp:Policy>
+	</sp:SignedSupportingTokens>
+	
+	<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 
+		<ramp:user>joe</ramp:user>
+		<ramp:passwordCallbackClass>org.apache.rahas.PWCallback</ramp:passwordCallbackClass>
+	</ramp:RampartConfig>
+
+  </wsp:All>
+</wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-integration/src/test/resources/rahas/issuer.properties b/modules/rampart-integration/src/test/resources/rahas/issuer.properties
deleted file mode 100755
index 40abfa2..0000000
--- a/modules/rampart-integration/src/test/resources/rahas/issuer.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
-org.apache.ws.security.crypto.merlin.keystore.type=jks
-org.apache.ws.security.crypto.merlin.keystore.password=password
-org.apache.ws.security.crypto.merlin.file=rahas-sts.jks
diff --git a/modules/rampart-integration/src/test/resources/rahas/rahas-sec.properties b/modules/rampart-integration/src/test/resources/rahas/rahas-sec.properties
deleted file mode 100755
index 9a97673..0000000
--- a/modules/rampart-integration/src/test/resources/rahas/rahas-sec.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
-org.apache.ws.security.crypto.merlin.keystore.type=jks
-org.apache.ws.security.crypto.merlin.keystore.password=password
-org.apache.ws.security.crypto.merlin.file=rahas/rahas-sts.jks
-
diff --git a/modules/rampart-integration/src/test/resources/rahas/s1-services.xml b/modules/rampart-integration/src/test/resources/rahas/s1-services.xml
index 1bc8b06..7486b37 100644
--- a/modules/rampart-integration/src/test/resources/rahas/s1-services.xml
+++ b/modules/rampart-integration/src/test/resources/rahas/s1-services.xml
@@ -50,25 +50,79 @@
 			</trusted-services>

 		</saml-issuer-config>

     </parameter>

-	

-	<parameter name="InflowSecurity">

-      <action>

-        <items>Signature Encrypt Timestamp</items>

-        <signaturePropFile>issuer.properties</signaturePropFile>

-		<decryptionPropFile>issuer.properties</decryptionPropFile>

-		<passwordCallbackClass xmlns="">org.apache.rahas.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

 

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Signature Encrypt Timestamp</items>

-        <user>ip</user>

-		<encryptionUser>useReqSigCert</encryptionUser>

-		<signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-        <signaturePropFile xmlns="">issuer.properties</signaturePropFile>

-	    <passwordCallbackClass xmlns="">org.apache.rahas.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

+    <wsp:Policy wsu:Id="SigEncr" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">

+	<wsp:ExactlyOne>

+		<wsp:All>

+			<sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+				<wsp:Policy>

+					<sp:InitiatorToken>

+						<wsp:Policy>

+							<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">

+								<wsp:Policy>

+									<sp:WssX509V3Token10/>

+								</wsp:Policy>

+							</sp:X509Token>

+						</wsp:Policy>

+					</sp:InitiatorToken>

+					<sp:RecipientToken>

+						<wsp:Policy>

+							<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">

+								<wsp:Policy>

+									<sp:WssX509V3Token10/>

+								</wsp:Policy>

+							</sp:X509Token>

+						</wsp:Policy>

+					</sp:RecipientToken>

+					<sp:AlgorithmSuite>

+						<wsp:Policy>

+							<sp:Basic128/>

+						</wsp:Policy>

+					</sp:AlgorithmSuite>

+					<sp:Layout>

+						<wsp:Policy>

+							<sp:Strict/>

+						</wsp:Policy>

+					</sp:Layout>

+					<sp:IncludeTimestamp/>

+					<sp:OnlySignEntireHeadersAndBody/>

+				</wsp:Policy>

+			</sp:AsymmetricBinding>

+			<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+				<wsp:Policy>

+					<sp:MustSupportRefKeyIdentifier/>

+					<sp:MustSupportRefIssuerSerial/>

+				</wsp:Policy>

+			</sp:Wss10>

+			<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+				<sp:Body/>

+			</sp:SignedParts>

+			<sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+				<sp:Body/>

+			</sp:EncryptedParts>

+			<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 

+				<ramp:user>ip</ramp:user>

+				<ramp:encryptionUser>useReqSigCert</ramp:encryptionUser>

+				<ramp:passwordCallbackClass>org.apache.rahas.PWCallback</ramp:passwordCallbackClass>

+				

+				<ramp:signatureCrypto>

+					<ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">

+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>

+						<ramp:property name="org.apache.ws.security.crypto.merlin.file">rahas-sts.jks</ramp:property>

+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>

+					</ramp:crypto>

+				</ramp:signatureCrypto>

+				<ramp:encryptionCypto>

+					<ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">

+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>

+						<ramp:property name="org.apache.ws.security.crypto.merlin.file">rahas-sts.jks</ramp:property>

+						<ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>

+					</ramp:crypto>

+				</ramp:encryptionCypto>

+			</ramp:RampartConfig>

+		</wsp:All>

+	</wsp:ExactlyOne>

+	</wsp:Policy>

+

     

 </service>

diff --git a/modules/rampart-integration/src/test/resources/rahas/s3-services.xml b/modules/rampart-integration/src/test/resources/rahas/s3-services.xml
index 5d81ffd..df37b46 100644
--- a/modules/rampart-integration/src/test/resources/rahas/s3-services.xml
+++ b/modules/rampart-integration/src/test/resources/rahas/s3-services.xml
@@ -51,20 +51,42 @@
 		</saml-issuer-config>

     </parameter>

 

-	<parameter name="InflowSecurity">

-      <action>

-        <items>UsernameToken Timestamp</items>

-		<passwordCallbackClass xmlns="">org.apache.rahas.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

+	<wsp:Policy wsu:Id="UTOverTransport" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">

+	<wsp:ExactlyOne>

+	  <wsp:All>

+		<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+		  <wsp:Policy>

+			<sp:TransportToken>

+			  <wsp:Policy>

+				<!--  <sp:HttpsToken RequireClientCertificate="false"/>  -->

+			  </wsp:Policy>

+			</sp:TransportToken>

+			<sp:AlgorithmSuite>

+			  <wsp:Policy>

+				<sp:Basic128/>

+			  </wsp:Policy>

+			</sp:AlgorithmSuite>

+			<sp:Layout>

+			  <wsp:Policy>

+				<sp:Lax/>

+			  </wsp:Policy>

+			</sp:Layout>

+			<sp:IncludeTimestamp/>

+		  </wsp:Policy>

+		</sp:TransportBinding>

+		<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+			<wsp:Policy>

+				<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" />

+		  </wsp:Policy>

+		</sp:SignedSupportingTokens>

+		

+		<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 

+			<ramp:user>ip</ramp:user>

+			<ramp:passwordCallbackClass>org.apache.rampart.PWCallback</ramp:passwordCallbackClass>

+		</ramp:RampartConfig>

 

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp</items>

-        <user>ip</user>

-	    <passwordCallbackClass xmlns="">org.apache.rahas.PWCallback</passwordCallbackClass>

-		<enableSignatureConfirmation>false</enableSignatureConfirmation>

-      </action>

-    </parameter>

+	  </wsp:All>

+	</wsp:ExactlyOne>

+	</wsp:Policy>

 

 </service>

diff --git a/modules/rampart-integration/src/test/resources/rahas/s5-services.xml b/modules/rampart-integration/src/test/resources/rahas/s5-services.xml
index 406eccf..a2819b6 100644
--- a/modules/rampart-integration/src/test/resources/rahas/s5-services.xml
+++ b/modules/rampart-integration/src/test/resources/rahas/s5-services.xml
@@ -51,20 +51,44 @@
 		</saml-issuer-config>

     </parameter>

 

-	<parameter name="InflowSecurity">

-      <action>

-        <items>UsernameToken Timestamp</items>

-		<passwordCallbackClass xmlns="">org.apache.rahas.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

 

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp</items>

-        <user>ip</user>

-	    <passwordCallbackClass xmlns="">org.apache.rahas.PWCallback</passwordCallbackClass>

-		<enableSignatureConfirmation>false</enableSignatureConfirmation>

-      </action>

-    </parameter>

+	<wsp:Policy wsu:Id="UTOverTransport" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">

+	<wsp:ExactlyOne>

+	  <wsp:All>

+		<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+		  <wsp:Policy>

+			<sp:TransportToken>

+			  <wsp:Policy>

+				<!--  <sp:HttpsToken RequireClientCertificate="false"/>  -->

+			  </wsp:Policy>

+			</sp:TransportToken>

+			<sp:AlgorithmSuite>

+			  <wsp:Policy>

+				<sp:Basic128/>

+			  </wsp:Policy>

+			</sp:AlgorithmSuite>

+			<sp:Layout>

+			  <wsp:Policy>

+				<sp:Lax/>

+			  </wsp:Policy>

+			</sp:Layout>

+			<sp:IncludeTimestamp/>

+		  </wsp:Policy>

+		</sp:TransportBinding>

+		<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">

+			<wsp:Policy>

+				<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" />

+		  </wsp:Policy>

+		</sp:SignedSupportingTokens>

+		

+		<ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 

+			<ramp:user>ip</ramp:user>

+			<ramp:passwordCallbackClass>org.apache.rampart.PWCallback</ramp:passwordCallbackClass>

+		</ramp:RampartConfig>

+

+	  </wsp:All>

+	</wsp:ExactlyOne>

+	</wsp:Policy>

+

 

 </service>

diff --git a/modules/rampart-integration/src/test/resources/rahas/saml.s1.properties b/modules/rampart-integration/src/test/resources/rahas/saml.s1.properties
deleted file mode 100644
index 90487b1..0000000
--- a/modules/rampart-integration/src/test/resources/rahas/saml.s1.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-org.apache.ws.security.saml.issuerClass=org.apache.ws.security.saml.SAMLIssuerImpl
-org.apache.ws.security.saml.issuer.cryptoProp.file=sctIssuer.properties
-org.apache.ws.security.saml.issuer.key.name=bob
-org.apache.ws.security.saml.issuer.key.password=security
-org.apache.ws.security.saml.issuer=www.example.com
-org.apache.ws.security.saml.subjectNameId.name=uid=joe,ou=people,ou=saml-demo,o=example.com
-org.apache.ws.security.saml.subjectNameId.qualifier=www.example.com
-org.apache.ws.security.saml.authenticationMethod=password
-#org.apache.ws.security.saml.confirmationMethod=senderVouches
diff --git a/modules/rampart-integration/src/test/resources/rahas/samlIssuer.properties b/modules/rampart-integration/src/test/resources/rahas/samlIssuer.properties
deleted file mode 100755
index c126c57..0000000
--- a/modules/rampart-integration/src/test/resources/rahas/samlIssuer.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
-org.apache.ws.security.crypto.merlin.keystore.type=jks
-org.apache.ws.security.crypto.merlin.keystore.password=password
-org.apache.ws.security.crypto.merlin.file=sts.jks
diff --git a/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosDelegation.xml b/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosDelegation.xml
new file mode 100644
index 0000000..5ba8922
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosDelegation.xml
@@ -0,0 +1,86 @@
+<service name="KerberosDelegation">
+
+    <module ref="addressing" />
+    <module ref="rampart" />
+
+    <parameter locked="false" name="ServiceClass">org.apache.rampart.KerberosDelegationService</parameter>
+
+    <transports>
+        <transport>https</transport>
+    </transports>
+    
+    <operation name="echo">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
+        <actionMapping>urn:echo</actionMapping>
+    </operation>
+
+    <operation name="returnError">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
+        <actionMapping>urn:returnError</actionMapping>
+    </operation>
+
+    <wsp:PolicyAttachment xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+
+        <wsp:AppliesTo>
+            <policy-subject identifier="binding:soap" />
+            <policy-subject identifier="binding:soap12" />
+        </wsp:AppliesTo>
+        
+        <wsp:Policy wsu:Id="KerberosOverTransport"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+            xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+        
+            <wsp:ExactlyOne>
+                <wsp:All>
+                    <sp:TransportBinding>
+                        <wsp:Policy>
+                            <sp:TransportToken>
+                                <wsp:Policy>
+                                    <sp:HttpsToken />
+                                </wsp:Policy>
+                            </sp:TransportToken>
+                            <sp:AlgorithmSuite>
+                                <wsp:Policy>
+                                    <sp:Basic128 />
+                                </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:IncludeTimestamp />
+                        </wsp:Policy>
+                    </sp:TransportBinding>
+                    <sp:EndorsingSupportingTokens>
+                        <wsp:Policy>
+                            <sp:KerberosToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                                <wsp:Policy>
+                                    <sp:WssGssKerberosV5ApReqToken11 />
+                                </wsp:Policy>
+                            </sp:KerberosToken>
+                        </wsp:Policy>
+                    </sp:EndorsingSupportingTokens>
+                    <sp:Wss11>
+                        <wsp:Policy />
+                    </sp:Wss11>
+                    <wsaw:UsingAddressing />
+                    
+                   <rampart:RampartConfig xmlns:rampart="http://ws.apache.org/rampart/policy">
+                        <rampart:kerberosConfig>
+                            <rampart:jaasContext>KerberosDelegation</rampart:jaasContext>
+                            <rampart:servicePrincipalNameForm>username</rampart:servicePrincipalNameForm>
+                            <rampart:kerberosTokenDecoderClass>org.apache.rampart.util.KerberosTokenDecoderImpl</rampart:kerberosTokenDecoderClass>
+                        </rampart:kerberosConfig>
+                        <rampart:policyValidatorCbClass>org.apache.rampart.KerberosDelegationServiceValidator</rampart:policyValidatorCbClass>                        
+                    </rampart:RampartConfig>
+                </wsp:All>
+            </wsp:ExactlyOne>
+        </wsp:Policy>
+
+    </wsp:PolicyAttachment>
+
+    <!-- Configure SPN using addressingIdentity extensibility element -->
+    <parameter name="addressingIdentity">
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+            <Upn>bob@EXAMPLE.COM</Upn>
+        </Identity>
+    </parameter>
+
+</service>
diff --git a/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosOverTransportKeytab.xml b/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosOverTransportKeytab.xml
new file mode 100644
index 0000000..27c4dc9
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosOverTransportKeytab.xml
@@ -0,0 +1,85 @@
+<service name="KerberosOverTransportKeytab">
+
+    <module ref="addressing" />
+    <module ref="rampart" />
+
+    <parameter locked="false" name="ServiceClass">org.apache.rampart.Service</parameter>
+
+    <transports>
+        <transport>https</transport>
+    </transports>
+    
+    <operation name="echo">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
+        <actionMapping>urn:echo</actionMapping>
+    </operation>
+
+    <operation name="returnError">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
+        <actionMapping>urn:returnError</actionMapping>
+    </operation>
+
+    <wsp:PolicyAttachment xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+
+        <wsp:AppliesTo>
+            <policy-subject identifier="binding:soap" />
+            <policy-subject identifier="binding:soap12" />
+        </wsp:AppliesTo>
+        
+        <wsp:Policy wsu:Id="KerberosOverTransport"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+            xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+        
+            <wsp:ExactlyOne>
+                <wsp:All>
+                    <sp:TransportBinding>
+                        <wsp:Policy>
+                            <sp:TransportToken>
+                                <wsp:Policy>
+                                    <sp:HttpsToken />
+                                </wsp:Policy>
+                            </sp:TransportToken>
+                            <sp:AlgorithmSuite>
+                                <wsp:Policy>
+                                    <sp:Basic128 />
+                                </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:IncludeTimestamp />
+                        </wsp:Policy>
+                    </sp:TransportBinding>
+                    <sp:EndorsingSupportingTokens>
+                        <wsp:Policy>
+                            <sp:KerberosToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                                <wsp:Policy>
+                                    <sp:WssGssKerberosV5ApReqToken11 />
+                                </wsp:Policy>
+                            </sp:KerberosToken>
+                        </wsp:Policy>
+                    </sp:EndorsingSupportingTokens>
+                    <sp:Wss11>
+                        <wsp:Policy />
+                    </sp:Wss11>
+                    <wsaw:UsingAddressing />
+                    
+                    <rampart:RampartConfig xmlns:rampart="http://ws.apache.org/rampart/policy">
+                        <rampart:kerberosConfig>
+                            <rampart:jaasContext>KerberosOverTransportKeytab</rampart:jaasContext>
+                            <rampart:servicePrincipalNameForm>username</rampart:servicePrincipalNameForm>
+                            <rampart:kerberosTokenDecoderClass>org.apache.rampart.util.KerberosTokenDecoderImpl</rampart:kerberosTokenDecoderClass>
+                        </rampart:kerberosConfig>
+                    </rampart:RampartConfig>
+                </wsp:All>
+            </wsp:ExactlyOne>
+        </wsp:Policy>
+
+    </wsp:PolicyAttachment>
+
+    <!-- Configure SPN using addressingIdentity extensibility element -->
+    <parameter name="addressingIdentity">
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+            <Upn>bob@EXAMPLE.COM</Upn>
+        </Identity>
+    </parameter>
+
+</service>
diff --git a/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosOverTransportPWCB.xml b/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosOverTransportPWCB.xml
new file mode 100644
index 0000000..fc3a3a3
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rampart/kerberos/KerberosOverTransportPWCB.xml
@@ -0,0 +1,88 @@
+<service name="KerberosOverTransportPWCB">
+
+    <module ref="addressing" />
+    <module ref="rampart" />
+
+    <parameter locked="false" name="ServiceClass">org.apache.rampart.Service</parameter>
+
+    <transports>
+        <transport>https</transport>
+    </transports>
+    
+    <operation name="echo">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
+        <actionMapping>urn:echo</actionMapping>
+    </operation>
+
+    <operation name="returnError">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
+        <actionMapping>urn:returnError</actionMapping>
+    </operation>
+
+    <wsp:PolicyAttachment xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+
+        <wsp:AppliesTo>
+            <policy-subject identifier="binding:soap" />
+            <policy-subject identifier="binding:soap12" />
+        </wsp:AppliesTo>
+        
+        <wsp:Policy wsu:Id="KerberosOverTransport"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+            xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+        
+            <wsp:ExactlyOne>
+                <wsp:All>
+                    <sp:TransportBinding>
+                        <wsp:Policy>
+                            <sp:TransportToken>
+                                <wsp:Policy>
+                                    <sp:HttpsToken />
+                                </wsp:Policy>
+                            </sp:TransportToken>
+                            <sp:AlgorithmSuite>
+                                <wsp:Policy>
+                                    <sp:Basic128 />
+                                </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:IncludeTimestamp />
+                        </wsp:Policy>
+                    </sp:TransportBinding>
+                    <sp:EndorsingSupportingTokens>
+                        <wsp:Policy>
+                            <sp:KerberosToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                                <wsp:Policy>
+                                    <sp:WssGssKerberosV5ApReqToken11 />
+                                </wsp:Policy>
+                            </sp:KerberosToken>
+                        </wsp:Policy>
+                    </sp:EndorsingSupportingTokens>
+                    <sp:Wss11>
+                        <wsp:Policy />
+                    </sp:Wss11>
+                    <wsaw:UsingAddressing />
+                    
+                    <rampart:RampartConfig xmlns:rampart="http://ws.apache.org/rampart/policy">
+                        <rampart:user>alice</rampart:user>
+                        <rampart:passwordCallbackClass>org.apache.rampart.PWCallback</rampart:passwordCallbackClass>
+                        
+                        <rampart:kerberosConfig>
+                            <rampart:jaasContext>KerberosOverTransportPWCB</rampart:jaasContext>
+                            <rampart:servicePrincipalNameForm>username</rampart:servicePrincipalNameForm>
+                            <rampart:kerberosTokenDecoderClass>org.apache.rampart.util.KerberosTokenDecoderImpl</rampart:kerberosTokenDecoderClass>
+                        </rampart:kerberosConfig>
+                    </rampart:RampartConfig>
+                </wsp:All>
+            </wsp:ExactlyOne>
+        </wsp:Policy>
+
+    </wsp:PolicyAttachment>
+
+    <!-- Configure SPN using addressingIdentity extensibility element -->
+    <parameter name="addressingIdentity">
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+            <Upn>bob@EXAMPLE.COM</Upn>
+        </Identity>
+    </parameter>
+
+</service>
diff --git a/modules/rampart-integration/src/test/resources/rampart/policy/35.xml b/modules/rampart-integration/src/test/resources/rampart/policy/35.xml
new file mode 100644
index 0000000..a19d25c
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rampart/policy/35.xml
@@ -0,0 +1,76 @@
+<wsp:Policy wsu:Id="EncrSupTokensUTNoPasswd"
+    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+    xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:SymmetricBinding>
+                <wsp:Policy>
+                    <sp:ProtectionToken>
+                        <wsp:Policy>
+                            <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                <wsp:Policy>
+                                    <sp:RequireThumbprintReference />
+                                    <sp:WssX509V3Token10 />
+                                </wsp:Policy>
+                            </sp:X509Token>
+                        </wsp:Policy>
+                    </sp:ProtectionToken>
+                    <sp:AlgorithmSuite>
+                        <wsp:Policy>
+                            <sp:Basic128 />
+                        </wsp:Policy>
+                    </sp:AlgorithmSuite>
+                    <sp:Layout>
+                        <wsp:Policy>
+                            <sp:Lax />
+                        </wsp:Policy>
+                    </sp:Layout>
+                    <sp:OnlySignEntireHeadersAndBody />
+                </wsp:Policy>
+            </sp:SymmetricBinding>
+            <sp:EncryptedParts>
+                <sp:Body />
+            </sp:EncryptedParts>
+            <sp:SignedParts>
+                <sp:Body />
+            </sp:SignedParts>
+            <sp:EncryptedSupportingTokens>
+                <wsp:Policy>
+                    <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                        <wsp:Policy>
+                            <wsp:ExactlyOne>
+                                <wsp:All>
+                                    <sp:WssUsernameToken11 />
+                                    <sp:NoPassword />
+                                </wsp:All>
+                            </wsp:ExactlyOne>
+                        </wsp:Policy>
+                    </sp:UsernameToken>
+                </wsp:Policy>
+            </sp:EncryptedSupportingTokens>
+            
+            <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
+                <ramp:user>alice</ramp:user>
+                <ramp:encryptionUser>bob</ramp:encryptionUser>
+                <ramp:passwordCallbackClass>org.apache.rampart.PWCallback</ramp:passwordCallbackClass>
+
+                <ramp:signatureCrypto>
+                    <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.file">rampart/store.jks</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
+                    </ramp:crypto>
+                </ramp:signatureCrypto>
+                <ramp:encryptionCypto>
+                    <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.file">rampart/store.jks</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
+                    </ramp:crypto>
+                </ramp:encryptionCypto>
+            </ramp:RampartConfig>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-integration/src/test/resources/rampart/services-35.xml b/modules/rampart-integration/src/test/resources/rampart/services-35.xml
new file mode 100644
index 0000000..a0c1342
--- /dev/null
+++ b/modules/rampart-integration/src/test/resources/rampart/services-35.xml
@@ -0,0 +1,94 @@
+<service name="SecureService35">
+
+	<module ref="addressing"/>
+	<module ref="rampart"/>
+
+	<parameter locked="false" name="ServiceClass">org.apache.rampart.Service</parameter>
+
+	<operation name="echo">
+		<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+		<actionMapping>urn:echo</actionMapping>
+	</operation>
+
+	 <operation name="returnError">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+        <actionMapping>urn:returnError</actionMapping>
+    </operation>
+
+    <wsp:Policy wsu:Id="EncrSupTokensUTNoPasswd"
+        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+        xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+        xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:RequireThumbprintReference />
+                                        <sp:WssX509V3Token10 />
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128 />
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax />
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:OnlySignEntireHeadersAndBody />
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:EncryptedParts>
+                    <sp:Body />
+                </sp:EncryptedParts>
+                <sp:SignedParts>
+                    <sp:Body />
+                </sp:SignedParts>
+                <sp:EncryptedSupportingTokens>
+                    <wsp:Policy>
+                        <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                            <wsp:Policy>
+                                <wsp:ExactlyOne>
+                                    <wsp:All>
+                                        <sp:WssUsernameToken11 />
+                                        <sp:NoPassword />
+                                    </wsp:All>
+                                </wsp:ExactlyOne>
+                            </wsp:Policy>
+                        </sp:UsernameToken>
+                    </wsp:Policy>
+                </sp:EncryptedSupportingTokens>
+                
+                <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
+                    <ramp:user>bob</ramp:user>
+                    <ramp:encryptionUser>alice</ramp:encryptionUser>
+                    <ramp:passwordCallbackClass>org.apache.rampart.PWCallback</ramp:passwordCallbackClass>
+
+                    <ramp:signatureCrypto>
+                        <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.file">rampart/store.jks</ramp:property>
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
+                        </ramp:crypto>
+                    </ramp:signatureCrypto>
+                    <ramp:encryptionCypto>
+                        <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.file">rampart/store.jks</ramp:property>
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">password</ramp:property>
+                        </ramp:crypto>
+                    </ramp:encryptionCypto>
+                </ramp:RampartConfig>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+</service>
diff --git a/modules/rampart-integration/src/test/resources/security/complete.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/complete.client.axis2.xml
deleted file mode 100644
index c1cf806..0000000
--- a/modules/rampart-integration/src/test/resources/security/complete.client.axis2.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-   

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <module ref="addressing"/>

-

-    <!--Configuring module , providing parameters for modules whether they refer or not-->

-    <moduleConfig name="addressing">

-        <parameter name="includeOptionalHeaders" locked="false">true</parameter>

-    </moduleConfig>

-

-    <!-- Test with addressing and MTOM: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <user>alice</user>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <signaturePropFile>interop.properties</signaturePropFile>

-        <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-        <encryptionUser>bob</encryptionUser>

-        <signatureParts>{Element}{http://www.w3.org/2005/08/addressing}To;{Element}{http://www.w3.org/2005/08/addressing}MessageID;{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp</signatureParts>

-

-        <optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>

-      </action>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <signaturePropFile>interop.properties</signaturePropFile>

-      </action>

-    </parameter>

-

-    <!-- Test with addressing and MTOM: Client's Configuration:END-->

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-

-  <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/complete.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/complete.service.axis2.xml
deleted file mode 100644
index 7759bd7..0000000
--- a/modules/rampart-integration/src/test/resources/security/complete.service.axis2.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-    <parameter name="enableMTOM" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the addressing module -->

-    <module ref="addressing"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!--Configuring module , providing parameters for modules whether they refer or not-->

-    <moduleConfig name="addressing">

-        <parameter name="includeOptionalHeaders" locked="false">true</parameter>

-    </moduleConfig>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-  <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/complete.service.xml b/modules/rampart-integration/src/test/resources/security/complete.service.xml
deleted file mode 100644
index 7988cb1..0000000
--- a/modules/rampart-integration/src/test/resources/security/complete.service.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Timestamp Signature Encrypt</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Timestamp Signature Encrypt</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
-        <encryptionUser>alice</encryptionUser>
-        <signatureParts>{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp</signatureParts>
-
-        <optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s1.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s1.client.axis2.xml
deleted file mode 100644
index 256b7eb..0000000
--- a/modules/rampart-integration/src/test/resources/security/s1.client.axis2.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 1: Client's Configuration:START-->

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>UsernameToken</items>

-        <user>Chris</user>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <passwordType>PasswordText</passwordType>

-      </action>

-    </parameter>

-    <!-- Scenario 1: Client's Configuration:END-->

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s1.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s1.service.axis2.xml
deleted file mode 100644
index 1c5bbf0..0000000
--- a/modules/rampart-integration/src/test/resources/security/s1.service.axis2.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s1.service.xml b/modules/rampart-integration/src/test/resources/security/s1.service.xml
deleted file mode 100644
index d6afa98..0000000
--- a/modules/rampart-integration/src/test/resources/security/s1.service.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>UsernameToken</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s2.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s2.client.axis2.xml
deleted file mode 100644
index 334d060..0000000
--- a/modules/rampart-integration/src/test/resources/security/s2.client.axis2.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 2: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>UsernameToken Encrypt</items>

-        <user>Chris</user>

-        <addUTElements>Nonce Created</addUTElements>

-        <encryptionParts>{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}UsernameToken</encryptionParts>

-        <encryptionUser>bob</encryptionUser>

-        <encryptionPropFile>interop.properties</encryptionPropFile>

-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <passwordType>PasswordText</passwordType>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-      </action>

-    </parameter>

-

-    <!-- Scenario 2: Client's Configuration:END-->

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

- <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s2.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s2.service.axis2.xml
deleted file mode 100644
index d0d3d19..0000000
--- a/modules/rampart-integration/src/test/resources/security/s2.service.axis2.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s2.service.xml b/modules/rampart-integration/src/test/resources/security/s2.service.xml
deleted file mode 100644
index 77c8eac..0000000
--- a/modules/rampart-integration/src/test/resources/security/s2.service.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>UsernameToken Encrypt</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <decryptionPropFile>interop.properties</decryptionPropFile>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s2a.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s2a.client.axis2.xml
deleted file mode 100644
index e2c8f86..0000000
--- a/modules/rampart-integration/src/test/resources/security/s2a.client.axis2.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 2: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>UsernameTokenSignature Encrypt Timestamp</items>

-        <user>Chris</user>

-        <encryptionParts>{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}UsernameToken</encryptionParts>

-        <encryptionUser>bob</encryptionUser>

-        <encryptionPropFile>interop.properties</encryptionPropFile>

-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-      </action>

-    </parameter>

-

-    <!-- Scenario 2: Client's Configuration:END-->

-

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-<phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s2a.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s2a.service.axis2.xml
deleted file mode 100644
index 5c1add2..0000000
--- a/modules/rampart-integration/src/test/resources/security/s2a.service.axis2.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-  <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s2a.service.xml b/modules/rampart-integration/src/test/resources/security/s2a.service.xml
deleted file mode 100644
index 4c5f6b3..0000000
--- a/modules/rampart-integration/src/test/resources/security/s2a.service.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>UsernameTokenSignature UsernameTokenNoPassword Encrypt Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <decryptionPropFile>interop.properties</decryptionPropFile>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s3.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s3.client.axis2.xml
deleted file mode 100644
index 19ab019..0000000
--- a/modules/rampart-integration/src/test/resources/security/s3.client.axis2.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 3: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Signature Encrypt Timestamp</items>

-        <user>alice</user>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <signaturePropFile>interop.properties</signaturePropFile>

-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>

-        <encryptionUser>bob</encryptionUser>

-        <enableSignatureConfirmation>false</enableSignatureConfirmation>

-      </action>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Signature Encrypt Timestamp</items>

-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-        <signaturePropFile>interop.properties</signaturePropFile>

-        <enableSignatureConfirmation>false</enableSignatureConfirmation>

-      </action>

-    </parameter>

-

-    <!-- Scenario 3: Client's Configuration:END-->

-

-

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-  <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s3.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s3.service.axis2.xml
deleted file mode 100644
index 8540d4e..0000000
--- a/modules/rampart-integration/src/test/resources/security/s3.service.axis2.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-<phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s3.service.xml b/modules/rampart-integration/src/test/resources/security/s3.service.xml
deleted file mode 100644
index 12cf1c7..0000000
--- a/modules/rampart-integration/src/test/resources/security/s3.service.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <enableSignatureConfirmation>false</enableSignatureConfirmation>
-      </action>
-    </parameter>
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>
-        <encryptionUser>alice</encryptionUser>
-        <enableSignatureConfirmation>false</enableSignatureConfirmation>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s4.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s4.client.axis2.xml
deleted file mode 100644
index 58a3c95..0000000
--- a/modules/rampart-integration/src/test/resources/security/s4.client.axis2.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 4: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-        <action>

-            <items>Signature Encrypt Timestamp</items>

-            <user>alice</user>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-            <encryptionKeyIdentifier>EmbeddedKeyName</encryptionKeyIdentifier>

-            <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>

-            <signaturePropFile>interop.properties</signaturePropFile>

-            <embeddedKeyCallbackClass>org.apache.axis2.security.PWCallback</embeddedKeyCallbackClass>

-            <embeddedKeyName>SessionKey</embeddedKeyName>

-        </action>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-        <action>

-            <items>Signature Encrypt Timestamp</items>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signaturePropFile>interop.properties</signaturePropFile>

-	    <isBSPCompliant>false</isBSPCompliant>
-        </action>

-    </parameter>

-

-    <!-- Scenario 4: Client's Configuration:END-->

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s4.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s4.service.axis2.xml
deleted file mode 100644
index 2425853..0000000
--- a/modules/rampart-integration/src/test/resources/security/s4.service.axis2.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-    <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s4.service.xml b/modules/rampart-integration/src/test/resources/security/s4.service.xml
deleted file mode 100644
index f39ab3e..0000000
--- a/modules/rampart-integration/src/test/resources/security/s4.service.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-	<isBSPCompliant>false</isBSPCompliant>
-      </action>
-    </parameter>
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>EmbeddedKeyName</encryptionKeyIdentifier>
-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <embeddedKeyCallbackClass>org.apache.axis2.security.PWCallback</embeddedKeyCallbackClass>
-        <embeddedKeyName>SessionKey</embeddedKeyName>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s5.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s5.client.axis2.xml
deleted file mode 100644
index cab64a1..0000000
--- a/modules/rampart-integration/src/test/resources/security/s5.client.axis2.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 5: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-

-        <action>

-            <items>Signature</items>

-            <user>alice</user>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-            <signatureParts>{}{http://xmlsoap.org/Ping}ticket</signatureParts>

-            <signaturePropFile>interop.properties</signaturePropFile>

-        </action>

-

-        <action>

-            <items>Signature Timestamp</items>

-            <user>alice</user>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signaturePropFile>interop.properties</signaturePropFile>

-        </action>

-

-    </parameter>

-

-    <!-- Scenario 5: Client's Configuration:END-->

-   

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-    <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s5.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s5.service.axis2.xml
deleted file mode 100644
index c144ce2..0000000
--- a/modules/rampart-integration/src/test/resources/security/s5.service.axis2.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s5.service.xml b/modules/rampart-integration/src/test/resources/security/s5.service.xml
deleted file mode 100644
index 6c9089d..0000000
--- a/modules/rampart-integration/src/test/resources/security/s5.service.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Signature Signature Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s6.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s6.client.axis2.xml
deleted file mode 100644
index 38f768b..0000000
--- a/modules/rampart-integration/src/test/resources/security/s6.client.axis2.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 6: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-        <action>

-            <items>Encrypt Signature Timestamp</items>

-            <user>alice</user>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-            <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>

-            <encryptionUser>bob</encryptionUser>

-            <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-            <signaturePropFile>interop.properties</signaturePropFile>

-        </action>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-        <action>

-            <items>Encrypt Signature Timestamp</items>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signaturePropFile>interop.properties</signaturePropFile>

-        </action>

-    </parameter>

-

-    <!-- Scenario 6: Client's Configuration:END-->

-

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-    <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s6.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s6.service.axis2.xml
deleted file mode 100644
index 6130df0..0000000
--- a/modules/rampart-integration/src/test/resources/security/s6.service.axis2.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-

-  <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s6.service.xml b/modules/rampart-integration/src/test/resources/security/s6.service.xml
deleted file mode 100644
index c67c3d8..0000000
--- a/modules/rampart-integration/src/test/resources/security/s6.service.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Encrypt Signature Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Encrypt Signature Timestamp</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <encryptionKeyIdentifier>DirectReference</encryptionKeyIdentifier>
-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>
-        <encryptionUser>alice</encryptionUser>
-        <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
-        <signaturePropFile>interop.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/s7.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/s7.client.axis2.xml
deleted file mode 100644
index 53086c2..0000000
--- a/modules/rampart-integration/src/test/resources/security/s7.client.axis2.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 7: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-        <action>

-            <items>Signature Encrypt Timestamp</items>

-            <user>alice</user>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-            <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>

-            <encryptionUser>bob</encryptionUser>

-            <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-            <signaturePropFile>interop.properties</signaturePropFile>

-            <encryptionPropFile>interop.properties</encryptionPropFile>

-            <signatureParts>{}{http://schemas.xmlsoap.org/soap/envelope/}Body;STRTransform</signatureParts>

-        </action>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-        <action>

-            <items>Signature Encrypt Timestamp</items>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signaturePropFile>interop.properties</signaturePropFile>

-            <decryptionPropFile>interop.properties</decryptionPropFile>

-        </action>

-    </parameter>

-

-    <!-- Scenario 7: Client's Configuration:END-->

-

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s7.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/s7.service.axis2.xml
deleted file mode 100644
index 7d39a93..0000000
--- a/modules/rampart-integration/src/test/resources/security/s7.service.axis2.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/s7.service.xml b/modules/rampart-integration/src/test/resources/security/s7.service.xml
deleted file mode 100644
index f8111e7..0000000
--- a/modules/rampart-integration/src/test/resources/security/s7.service.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation> 
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <decryptionPropFile>interop.properties</decryptionPropFile>
-      </action>
-    </parameter>
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <encryptionKeyIdentifier>DirectReference</encryptionKeyIdentifier>
-        <encryptionSymAlgorithm>http://www.w3.org/2001/04/xmlenc#tripledes-cbc</encryptionSymAlgorithm>
-        <encryptionUser>alice</encryptionUser>
-        <signatureKeyIdentifier>SKIKeyIdentifier</signatureKeyIdentifier>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <encryptionPropFile>interop.properties</encryptionPropFile>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/sST1.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/sST1.client.axis2.xml
deleted file mode 100644
index 6af6407..0000000
--- a/modules/rampart-integration/src/test/resources/security/sST1.client.axis2.xml
+++ /dev/null
@@ -1,119 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario ST1: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-        <action>

-            <items>Timestamp SAMLTokenUnsigned</items>

-            <samlPropFile>axis2.saml.properties</samlPropFile>

-        </action>

-    </parameter>

-

-    <!-- Scenario ST1: Client's Configuration:END-->

-   

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-    <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/sST1.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/sST1.service.axis2.xml
deleted file mode 100644
index 4a0c614..0000000
--- a/modules/rampart-integration/src/test/resources/security/sST1.service.axis2.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-    <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/sST1.service.xml b/modules/rampart-integration/src/test/resources/security/sST1.service.xml
deleted file mode 100644
index 1bb5dc7..0000000
--- a/modules/rampart-integration/src/test/resources/security/sST1.service.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Timestamp SAMLTokenUnsigned</items>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-integration/src/test/resources/security/sc/s1-services.xml b/modules/rampart-integration/src/test/resources/security/sc/s1-services.xml
deleted file mode 100644
index 1d92054..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/s1-services.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<service name="SecureService">

-

-	<module ref="rampart"/>

-	<module ref="rahas"/>

-

-	<parameter locked="false" name="ServiceClass">org.apache.axis2.security.sc.Service</parameter>

-

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-		<actionMapping>urn:echo</actionMapping>

-	</operation>

-

- <!--   <parameter name="sct-issuer-config">

-		<sct-issuer-config>

-			<proofToken>EncryptedKey</proofToken>

-			<cryptoProperties>sctIssuer.properties</cryptoProperties>

-			<addRequestedAttachedRef />

-		</sct-issuer-config>

-    </parameter>-->

-

-    <parameter name="sct-issuer-config">

-        <sct-issuer-config>

-            <addRequestedAttachedRef/>

-            <addRequestedUnattachedRef/>

-            <cryptoProperties>

-               <crypto provider="org.apache.ws.security.components.crypto.Merlin">

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</property>

-                    <property name="org.apache.ws.security.crypto.merlin.file">sts.jks</property>

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.password">password</property>

-                </crypto>

-            </cryptoProperties>

-

-            <!--

-               Key computation mechanism

-               1 - Use Request Entropy

-               2 - Provide Entropy

-               3 - Use Own Key

-            -->

-            <keyComputation>3</keyComputation>

-

-            <!--

-               proofKeyType element is valid only if the keyComputation is set to 3

-               i.e. Use Own Key

-

-               Valid values are: EncryptedKey & BinarySecret

-            -->

-            <proofKeyType>EncryptedKey</proofKeyType>

-        </sct-issuer-config>

-    </parameter>

-

-     <parameter name="token-canceler-config">

-		<token-canceler-config>

-			<!--<proofToken>EncryptedKey</proofToken>-->

-			<!--<cryptoProperties>sctIssuer.properties</cryptoProperties>-->

-			<!--<addRequestedAttachedRef />-->

-		</token-canceler-config>

-    </parameter>

-

-    <parameter xmlns="" name="sc-configuration">

-		<sc-configuration xmlns="">

-			<scope xmlns="">service</scope>

-			<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-			<cryptoProperties xmlns="">sctIssuer.properties</cryptoProperties>

-		</sc-configuration>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature</items>

-        <signaturePropFile>sctIssuer.properties</signaturePropFile>

-      </action>

-    </parameter>

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <encryptionUser>useReqSigCert</encryptionUser>

-        <user>sts</user>

-        <signaturePropFile xmlns="">sctIssuer.properties</signaturePropFile>

-	<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

-

-</service>

diff --git a/modules/rampart-integration/src/test/resources/security/sc/s2-services.xml b/modules/rampart-integration/src/test/resources/security/sc/s2-services.xml
deleted file mode 100644
index 8c942a6..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/s2-services.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<service name="SecureService">

-

-	<module ref="rampart"/>

-	<module ref="rahas"/>

-

-	<parameter locked="false" name="ServiceClass">org.apache.axis2.security.sc.Service</parameter>

-

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-		<actionMapping>urn:echo</actionMapping>

-	</operation>    

-

-    <parameter name="sct-issuer-config">

-		<sct-issuer-config>

-			<addRequestedAttachedRef />

-			<addRequestedUnattachedRef />

-            <cryptoProperties>

-               <crypto provider="org.apache.ws.security.components.crypto.Merlin">

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</property>

-                    <property name="org.apache.ws.security.crypto.merlin.file">sts.jks</property>

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.password">password</property>

-                </crypto>

-            </cryptoProperties>

-

-            <!--

-               Key computation mechanism

-               1 - Use Request Entropy

-               2 - Provide Entropy

-               3 - Use Own Key

-            -->

-            <keyComputation>3</keyComputation>

-

-            <!--

-               proofKeyType element is valid only if the keyComputation is set to 3

-               i.e. Use Own Key

-

-               Valid values are: EncryptedKey & BinarySecret

-            -->

-            <proofKeyType>BinarySecret</proofKeyType>

-        </sct-issuer-config>

-    </parameter>

-    

-    <parameter xmlns="" name="sc-configuration">

-		<sc-configuration xmlns="">

-			<scope xmlns="">service</scope>

-			<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-			<cryptoProperties xmlns="">sctIssuer.properties</cryptoProperties>

-		</sc-configuration>

-	</parameter>

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature</items>

-        <signaturePropFile>sctIssuer.properties</signaturePropFile>

-      </action>

-    </parameter>

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp</items>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-integration/src/test/resources/security/sc/s3-services.xml b/modules/rampart-integration/src/test/resources/security/sc/s3-services.xml
deleted file mode 100644
index 754a0ca..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/s3-services.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<service name="SecureService">

-

-	<module ref="rampart"/>

-

-	<parameter locked="false" name="ServiceClass">org.apache.axis2.security.sc.Service</parameter>

-

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-		<actionMapping>urn:echo</actionMapping>

-	</operation>    

-

-    <parameter name="sct-issuer-config">

-		<sct-issuer-config>

-            <cryptoProperties>

-               <crypto provider="org.apache.ws.security.components.crypto.Merlin">

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</property>

-                    <property name="org.apache.ws.security.crypto.merlin.file">sts.jks</property>

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.password">password</property>

-                </crypto>

-            </cryptoProperties>

-            <addRequestedAttachedRef />

-

-            <!--

-               Key computation mechanism

-               1 - Use Request Entropy

-               2 - Provide Entropy

-               3 - Use Own Key

-            -->

-            <keyComputation>3</keyComputation>

-

-            <!--

-               proofKeyType element is valid only if the keyComputation is set to 3

-               i.e. Use Own Key

-

-               Valid values are: EncryptedKey & BinarySecret

-            -->

-            <proofKeyType>BinarySecret</proofKeyType>

-        </sct-issuer-config>

-    </parameter>

-    

-    <parameter xmlns="" name="sc-configuration">

-		<sc-configuration xmlns="">

-			<scope xmlns="">service</scope>

-			<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-			<cryptoProperties xmlns="">sctIssuer.properties</cryptoProperties>

-		</sc-configuration>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature</items>

-        <signaturePropFile>sctIssuer.properties</signaturePropFile>

-      </action>

-    </parameter>

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <encryptionUser>useReqSigCert</encryptionUser>

-        <user>sts</user>

-        <signaturePropFile xmlns="">sctIssuer.properties</signaturePropFile>

-	<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-integration/src/test/resources/security/sc/s4-services.xml b/modules/rampart-integration/src/test/resources/security/sc/s4-services.xml
deleted file mode 100644
index 50b850a..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/s4-services.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<service name="SecureService">

-

-	<module ref="rampart"/>

-	<module ref="rahas"/>

-

-	<parameter locked="false" name="ServiceClass">org.apache.axis2.security.sc.Service</parameter>

-

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-		<actionMapping>urn:echo</actionMapping>

-	</operation>    

-

-    <parameter name="sct-issuer-config">

-		<sct-issuer-config>

-            <cryptoProperties>

-               <crypto provider="org.apache.ws.security.components.crypto.Merlin">

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</property>

-                    <property name="org.apache.ws.security.crypto.merlin.file">sts.jks</property>

-                    <property name="org.apache.ws.security.crypto.merlin.keystore.password">password</property>

-                </crypto>

-            </cryptoProperties>

-            <addRequestedAttachedRef />

-

-            <!--

-               Key computation mechanism

-               1 - Use Request Entropy

-               2 - Provide Entropy

-               3 - Use Own Key

-            -->

-            <keyComputation>3</keyComputation>

-

-            <!--

-               proofKeyType element is valid only if the keyComputation is set to 3

-               i.e. Use Own Key

-

-               Valid values are: EncryptedKey & BinarySecret

-            -->

-            <proofKeyType>BinarySecret</proofKeyType>

-        </sct-issuer-config>

-    </parameter>

-    

-    <parameter xmlns="" name="sc-configuration">

-		<sc-configuration xmlns="">

-			<scope xmlns="">service</scope>

-			<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-			<cryptoProperties xmlns="">sctIssuer.properties</cryptoProperties>

-		</sc-configuration>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature</items>

-        <signaturePropFile>sctIssuer.properties</signaturePropFile>

-      </action>

-    </parameter>

-

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <encryptionUser>useReqSigCert</encryptionUser>

-        <user>sts</user>

-        <signaturePropFile xmlns="">sctIssuer.properties</signaturePropFile>

-	<passwordCallbackClass xmlns="">org.apache.axis2.security.sc.PWCallback</passwordCallbackClass>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-integration/src/test/resources/security/sc/sctIssuer.properties b/modules/rampart-integration/src/test/resources/security/sc/sctIssuer.properties
deleted file mode 100755
index c126c57..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/sctIssuer.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
-org.apache.ws.security.crypto.merlin.keystore.type=jks
-org.apache.ws.security.crypto.merlin.keystore.password=password
-org.apache.ws.security.crypto.merlin.file=sts.jks
diff --git a/modules/rampart-integration/src/test/resources/security/sc/sec.jks b/modules/rampart-integration/src/test/resources/security/sc/sec.jks
deleted file mode 100755
index 7af24b2..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/sec.jks
+++ /dev/null
Binary files differ
diff --git a/modules/rampart-integration/src/test/resources/security/sc/sec.properties b/modules/rampart-integration/src/test/resources/security/sc/sec.properties
deleted file mode 100755
index 3c3298d..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/sec.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
-org.apache.ws.security.crypto.merlin.keystore.type=jks
-org.apache.ws.security.crypto.merlin.keystore.password=password
-org.apache.ws.security.crypto.merlin.file=sec.jks
-
diff --git a/modules/rampart-integration/src/test/resources/security/sc/sts.jks b/modules/rampart-integration/src/test/resources/security/sc/sts.jks
deleted file mode 100644
index 2db0a7c..0000000
--- a/modules/rampart-integration/src/test/resources/security/sc/sts.jks
+++ /dev/null
Binary files differ
diff --git a/modules/rampart-integration/src/test/resources/security/secMtom.client.axis2.xml b/modules/rampart-integration/src/test/resources/security/secMtom.client.axis2.xml
deleted file mode 100644
index 9d1a37b..0000000
--- a/modules/rampart-integration/src/test/resources/security/secMtom.client.axis2.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-    

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Scenario 3 with MTOM: Client's Configuration:START-->

-

-    <parameter name="OutflowSecurity">

-        <action>

-            <items>Signature Encrypt Timestamp</items>

-            <user>alice</user>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signaturePropFile>interop.properties</signaturePropFile>

-            <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-            <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-            <encryptionUser>bob</encryptionUser>

-

-            <optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>

-        </action>

-    </parameter>

-

-    <parameter name="InflowSecurity">

-        <action>

-            <items>Signature Encrypt Timestamp</items>

-            <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>

-            <signaturePropFile>interop.properties</signaturePropFile>

-        </action>

-    </parameter>

-

-    <!-- Scenario 3 with MTOM: Client's Configuration:END-->

-

-

-   

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>

-    </transportSender>

-

-  <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/secMtom.service.axis2.xml b/modules/rampart-integration/src/test/resources/security/secMtom.service.axis2.xml
deleted file mode 100644
index 092a6d7..0000000
--- a/modules/rampart-integration/src/test/resources/security/secMtom.service.axis2.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<axisconfig name="AxisJava2.0">

-    <parameter name="hotdeployment" locked="false">true</parameter>

-    <parameter name="hotupdate" locked="false">true</parameter>

-    <parameter name="enableMTOM" locked="false">true</parameter>

-

-    <!-- ================================================= -->

-    <!-- Deployers -->

-    <!-- ================================================= -->

-

-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->

-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">

-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>

-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>

-    </deployer>

-    

-    <messageReceiver mep="INOUT" class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>

-

-    <!-- Engage the security module -->

-    <module ref="rampart"/>

-

-    <!-- ================================================= -->

-    <!-- Transport Ins -->

-    <!-- ================================================= -->

-    <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">

-        <parameter name="port" locked="false">6060</parameter>

-    </transportReceiver>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-    <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">

-          <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>

-          <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>

-          <parameter name="transport.mail.pop3.port" locked="false">110</parameter>

-          <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>

-      </transportReceiver> -->

-

-    <!-- ================================================= -->

-    <!-- Transport Outs -->

-    <!-- ================================================= -->

-

-    <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>

-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-    <transportSender name="https"

-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">

-        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

-    </transportSender>

-

-    <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver

-   <transportSender name="mail" class="org.apache.axis2.transport.mail.MailTransportSender">

-       <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>

-       <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>

-       <parameter name="transport.mail.smtp.port" locked="false">25</parameter>

-   </transportSender>

-   -->

-

-   <phaseOrder type="InFlow">

-        <!--  System predefined phases       -->

-        <phase name="Transport">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">

-                <order phase="Transport"/>

-            </handler>

-        </phase>

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--  System predefined phases       -->

-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->

-        <phase name="OperationInPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutPhase"/>

-        <!--system predefined phase-->

-        <!--these phase will run irrespective of the service-->

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>

-        <phase name="Security"/>

-    </phaseOrder>

-    <phaseOrder type="InFaultFlow">

-        <phase name="Addressing">

-             <handler name="AddressingBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">

-                 <order phase="Addressing"/>

-            </handler>

-        </phase>

-        <phase name="Security"/>

-        <phase name="PreDispatch"/>

-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">

-            <handler name="RequestURIBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>

-            <handler name="SOAPActionBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>

-            <handler name="RequestURIOperationDispatcher"

-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>

-            <handler name="SOAPMessageBodyBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>

-

-            <handler name="HTTPLocationBasedDispatcher"

-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>

-        </phase>

-        <phase name="RMPhase"/>

-        <!--      user can add his own phases to this area  -->

-        <phase name="OperationInFaultPhase"/>

-        <phase name="soapmonitorPhase"/>

-    </phaseOrder>

-    <phaseOrder type="OutFaultFlow">

-        <!--      user can add his own phases to this area  -->

-        <phase name="soapmonitorPhase"/>

-        <phase name="OperationOutFaultPhase"/>

-        <phase name="RMPhase"/>

-        <phase name="PolicyDetermination"/>

-        <phase name="MessageOut"/>
-        <phase name="Security"/>

-    </phaseOrder>

-</axisconfig>

-

diff --git a/modules/rampart-integration/src/test/resources/security/secMtom.service.xml b/modules/rampart-integration/src/test/resources/security/secMtom.service.xml
deleted file mode 100644
index 45f7a1f..0000000
--- a/modules/rampart-integration/src/test/resources/security/secMtom.service.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<service name="PingPort">
-	<parameter locked="false" name="ServiceClass">org.apache.axis2.oasis.ping.PingPortSkeleton</parameter>
-	<!--Mounting the method Ping-->
-	<operation name="Ping">
-		<messageReceiver class="org.apache.axis2.oasis.ping.PingPortMessageReceiverInOut"/>
-	</operation>    
-
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Signature Encrypt Timestamp</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.axis2.security.PWCallback</passwordCallbackClass>
-        <signaturePropFile>interop.properties</signaturePropFile>
-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
-        <encryptionUser>alice</encryptionUser>
-
-        <optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>
-      </action>
-    </parameter>
-
-</service>
diff --git a/modules/rampart-mar/module.xml b/modules/rampart-mar/module.xml
index 31a7f44..2552cb3 100644
--- a/modules/rampart-mar/module.xml
+++ b/modules/rampart-mar/module.xml
@@ -9,9 +9,6 @@
         <handler name="PolicyBasedSecurityInHandler" class="org.apache.rampart.handler.RampartReceiver">
             <order phase="Security" phaseFirst="true"/>
         </handler>
-        <handler name="SecurityInHandler" class="org.apache.rampart.handler.WSDoAllReceiver">
-            <order phase="Security"/>
-        </handler>
         <handler name="PostDispatchVerificationHandler" class="org.apache.rampart.handler.PostDispatchVerificationHandler">
             <order phase="Dispatch" phaseLast="true"/>
         </handler>
@@ -19,18 +16,12 @@
     </InFlow>
 
     <OutFlow>
-        <handler name="SecurityOutHandler" class="org.apache.rampart.handler.WSDoAllSender">
-            <order phase="Security"/>
-        </handler>
         <handler name="PolicyBasedSecurityOutHandler" class="org.apache.rampart.handler.RampartSender">
             <order phase="Security" phaseLast="true"/>
         </handler>
     </OutFlow>
     
     <OutFaultFlow>
-        <handler name="SecurityOutHandler" class="org.apache.rampart.handler.WSDoAllSender">
-            <order phase="Security"/>
-        </handler>
         <handler name="PolicyBasedSecurityOutHandler" class="org.apache.rampart.handler.RampartSender">
             <order phase="Security" phaseLast="true"/>
         </handler>
@@ -40,9 +31,6 @@
         <handler name="PolicyBasedSecurityInHandler" class="org.apache.rampart.handler.RampartReceiver">
             <order phase="Security" phaseFirst="true"/>
         </handler>
-        <handler name="SecurityInHandler" class="org.apache.rampart.handler.WSDoAllReceiver">
-            <order phase="Security"/>
-        </handler>
     </InFaultFlow>
     
     <supported-policy-namespaces namespaces="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/>
diff --git a/modules/rampart-mar/pom.xml b/modules/rampart-mar/pom.xml
index 66d7c3a..089ff7c 100644
--- a/modules/rampart-mar/pom.xml
+++ b/modules/rampart-mar/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -34,31 +34,9 @@
     <packaging>mar</packaging>
     <name>Rampart - Mar</name>
 
-    <scm>
-		<connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/rampart/trunk</connection>
-        <developerConnection>
-            scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/rampart/trunk
-        </developerConnection>
-		<url>http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk</url>
-    </scm>
-
     <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-            </resource>
-        </resources>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.axis2</groupId>
                 <artifactId>axis2-mar-maven-plugin</artifactId>
                 <extensions>true</extensions>
@@ -70,7 +48,6 @@
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>
-                <version>1.0</version>
                 <executions>
                     <execution>
                         <id>aar</id>
diff --git a/modules/rampart-policy/pom.xml b/modules/rampart-policy/pom.xml
index 5ba4c78..0d38319 100644
--- a/modules/rampart-policy/pom.xml
+++ b/modules/rampart-policy/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -34,40 +34,24 @@
     <packaging>jar</packaging>
     <name>Rampart - Policy</name>
 
-    <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <excludes>
-                    <exclude>**/*.java</exclude>                     
-                </excludes>
-            </resource>
-        </resources> 
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <configuration>
-                    <templateDirectory>${basedir}</templateDirectory>
-                    <menu ref="parent" />
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-kernel</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.commons.axiom</groupId>
+            <artifactId>axiom-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.commons.axiom</groupId>
+            <artifactId>axiom-truth</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 </project>
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/Constants.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/Constants.java
index 60f28f8..d2b15f2 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/Constants.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/Constants.java
@@ -201,6 +201,10 @@
     public static final String XPATH_FILTER20 = "XPathFilter20";
 
     // /////////////////////////////////////////////////////////////////////
+    
+    public final static String WSS_KERBEROS_TOKEN11 = "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ";
+    
+    // /////////////////////////////////////////////////////////////////////
 
     public static final QName ATTR_XPATH_VERSION = new QName(SP_NS, "XPathVersion", Constants.SP_PREFIX);
     
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP11Constants.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP11Constants.java
index 24bc380..99f4f77 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP11Constants.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP11Constants.java
@@ -258,6 +258,15 @@
 
     public static final QName BODY = new QName(SP11Constants.SP_NS, "Body");
     
+    public static final QName KERBEROS_TOKEN = new QName(SP11Constants.SP_NS,
+            SPConstants.KERBEROS_TOKEN, SP11Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_KERBEROS_GSS_V5_TOKEN_11 = new QName(SP11Constants.SP_NS,
+            SPConstants.REQUIRE_KERBEROS_GSS_V5_TOKEN_11, SP11Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_KERBEROS_V5_TOKEN_11 = new QName(SP11Constants.SP_NS,
+            SPConstants.REQUIRE_KERBEROS_V5_TOKEN_11, SP11Constants.SP_PREFIX);
+    
     public static int getInclusionFromAttributeValue(String value ) {
         
         if (INCLUDE_ALWAYS.equals(value)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP12Constants.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP12Constants.java
index 9cc040d..ff7e0d9 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP12Constants.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SP12Constants.java
@@ -317,6 +317,15 @@
     
     ////////////////////////////////////////////////////////////////////////////////////////////////
     
+    public static final QName KERBEROS_TOKEN = new QName(SP12Constants.SP_NS,
+            SPConstants.KERBEROS_TOKEN, SP12Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_KERBEROS_GSS_V5_TOKEN_11 = new QName(SP12Constants.SP_NS,
+            SPConstants.REQUIRE_KERBEROS_GSS_V5_TOKEN_11, SP12Constants.SP_PREFIX);
+
+    public static final QName REQUIRE_KERBEROS_V5_TOKEN_11 = new QName(SP12Constants.SP_NS,
+            SPConstants.REQUIRE_KERBEROS_V5_TOKEN_11, SP12Constants.SP_PREFIX);
+    
     public static int getInclusionFromAttributeValue(String value ) {
         
         if (INCLUDE_ALWAYS.equals(value)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SPConstants.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SPConstants.java
index dd834e7..1ca64db 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SPConstants.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/SPConstants.java
@@ -131,6 +131,7 @@
     
     public final static String USERNAME_TOKEN11 = "WssUsernameToken11";
 
+    public final static String KERBEROS_TOKEN = "KerberosToken";
     
     public final static String TRANSPORT_TOKEN = "TransportToken";
     
@@ -429,7 +430,7 @@
     
     public static final String HASH_PASSWORD = "HashPassword";
     
-
+    public static final String REQUIRE_KERBEROS_V5_TOKEN_11 = "WssKerberosV5ApReqToken11";
     
-
+    public static final String REQUIRE_KERBEROS_GSS_V5_TOKEN_11 = "WssGssKerberosV5ApReqToken11";
 }
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java
index f790c73..c8b2793 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractConfigurableSecurityAssertion.java
@@ -22,16 +22,16 @@
 
 public abstract class AbstractConfigurableSecurityAssertion extends AbstractSecurityAssertion {
     
-    protected ArrayList configurations = null;
+    protected ArrayList<Assertion> configurations = null;
     
     public void addConfiguration(Assertion assertion) {
         if (configurations == null) {
-            configurations = new ArrayList();
+            configurations = new ArrayList<Assertion>();
         }
         configurations.add(assertion);
     }
     
-    public List getConfigurations() {
+    public List<Assertion> getConfigurations() {
         return configurations;
     }
     
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java
index 8b207fb..b57663a 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AbstractSecurityAssertion.java
@@ -21,9 +21,6 @@
 
 import org.apache.neethi.Assertion;
 import org.apache.neethi.PolicyComponent;
-import org.apache.ws.secpolicy.SP12Constants;
-import org.apache.ws.secpolicy.SPConstants;
-import org.apache.ws.secpolicy.SP12Constants;
 
 public abstract class AbstractSecurityAssertion implements Assertion {
 
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AsymmetricBinding.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AsymmetricBinding.java
index 4feeaf7..c165ad7 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AsymmetricBinding.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/AsymmetricBinding.java
@@ -24,6 +24,7 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.All;
+import org.apache.neethi.Assertion;
 import org.apache.neethi.ExactlyOne;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyComponent;
@@ -86,7 +87,7 @@
         }
 
         AlgorithmSuite algorithmSuite = getAlgorithmSuite();
-        List configs = algorithmSuite.getConfigurations();
+        List<Assertion> configs = algorithmSuite.getConfigurations();
 
         Policy policy = new Policy();
         ExactlyOne exactlyOne = new ExactlyOne();
@@ -96,7 +97,7 @@
         All wrapper;
         AsymmetricBinding asymmetricBinding;
 
-        for (Iterator iterator = configs.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = configs.iterator(); iterator.hasNext();) {
             wrapper = new All();
             asymmetricBinding = new AsymmetricBinding(this.version);
 
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ContentEncryptedElements.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ContentEncryptedElements.java
index 0c441d8..ae4cfbf 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ContentEncryptedElements.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ContentEncryptedElements.java
@@ -25,15 +25,14 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.PolicyComponent;
-import org.apache.ws.secpolicy.SP11Constants;
 import org.apache.ws.secpolicy.SP12Constants;
 import org.apache.ws.secpolicy.SPConstants;
 
 public class ContentEncryptedElements extends AbstractSecurityAssertion {
 
-    private ArrayList xPathExpressions = new ArrayList();
+    private ArrayList<String> xPathExpressions = new ArrayList<String>();
     
-    private HashMap declaredNamespaces = new HashMap();
+    private HashMap<String, String> declaredNamespaces = new HashMap<String, String>();
 
     private String xPathVersion;
 
@@ -44,7 +43,7 @@
     /**
      * @return Returns the xPathExpressions.
      */
-    public ArrayList getXPathExpressions() {
+    public ArrayList<String> getXPathExpressions() {
         return xPathExpressions;
     }
 
@@ -67,7 +66,7 @@
         xPathVersion = pathVersion;
     }
     
-    public HashMap getDeclaredNamespaces () {
+    public HashMap<String, String> getDeclaredNamespaces () {
         return declaredNamespaces;
     }
     
@@ -90,9 +89,9 @@
 
         String xpathExpression;
 
-        for (Iterator iterator = xPathExpressions.iterator(); iterator
+        for (Iterator<String> iterator = xPathExpressions.iterator(); iterator
                 .hasNext();) {
-            xpathExpression = (String) iterator.next();
+            xpathExpression = iterator.next();
             // <sp:XPath ..>
             writeStartElement(writer, prefix, SPConstants.XPATH_EXPR, namespaceURI);
             writer.writeCharacters(xpathExpression);
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/KerberosToken.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/KerberosToken.java
new file mode 100644
index 0000000..3963da9
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/KerberosToken.java
@@ -0,0 +1,152 @@
+/*
+ * 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.ws.secpolicy.model;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.ws.secpolicy.Constants;
+import org.apache.ws.secpolicy.SP11Constants;
+import org.apache.ws.secpolicy.SP12Constants;
+import org.apache.ws.secpolicy.SPConstants;
+
+public class KerberosToken extends Token {
+
+    private boolean requiresKerberosV5Token;
+
+    private boolean requiresGssKerberosV5Token;
+
+    private boolean requiresKeyIdentifierReference;
+
+    private String tokenVersionAndType = Constants.WSS_KERBEROS_TOKEN11;
+
+    public String getTokenVersionAndType() {
+        return tokenVersionAndType;
+    }
+
+    public void setTokenVersionAndType(String tokenVersionAndType) {
+        this.tokenVersionAndType = tokenVersionAndType;
+    }
+
+    public boolean isRequiresKerberosV5Token() {
+        return requiresKerberosV5Token;
+    }
+
+    public void setRequiresKerberosV5Token(boolean requiresKerberosV5Token) {
+        this.requiresKerberosV5Token = requiresKerberosV5Token;
+    }
+
+    public boolean isRequiresGssKerberosV5Token() {
+        return requiresGssKerberosV5Token;
+    }
+
+    public void setRequiresGssKerberosV5Token(boolean requiresGssKerberosV5Token) {
+        this.requiresGssKerberosV5Token = requiresGssKerberosV5Token;
+    }
+
+    public boolean isRequiresKeyIdentifierReference() {
+        return requiresKeyIdentifierReference;
+    }
+
+    public void setRequiresKeyIdentifierReference(boolean
+        requiresKeyIdentifierReference) {
+        this.requiresKeyIdentifierReference = requiresKeyIdentifierReference;
+    }
+
+    public KerberosToken(int version) {
+        setVersion(version);
+    }
+
+    public QName getName() {
+        if (version == SPConstants.SP_V12) {
+            return SP12Constants.KERBEROS_TOKEN;
+        } 
+        else {
+            return SP11Constants.KERBEROS_TOKEN;
+        }
+    }
+
+    public void serialize(XMLStreamWriter writer) throws XMLStreamException {
+        String localName = getName().getLocalPart();
+        String namespaceURI = getName().getNamespaceURI();
+
+        String prefix = writer.getPrefix(namespaceURI);
+
+        if (prefix == null) {
+            prefix = getName().getPrefix();
+            writer.setPrefix(prefix, namespaceURI);
+        }
+
+        // <sp:KerberosToken>
+        writer.writeStartElement(prefix, localName, namespaceURI);
+
+        String inclusion;
+
+        if (version == SPConstants.SP_V12) {
+            inclusion = SP12Constants.getAttributeValueFromInclusion(getInclusion());
+        } else {
+            inclusion = SP11Constants.getAttributeValueFromInclusion(getInclusion());
+        }
+
+        if (inclusion != null) {
+            writer.writeAttribute(prefix, namespaceURI,
+                                  SPConstants.ATTR_INCLUDE_TOKEN, inclusion);
+        }
+
+        String pPrefix = writer.getPrefix(SPConstants.POLICY.getNamespaceURI());
+        if (pPrefix == null) {
+            pPrefix = SPConstants.POLICY.getPrefix();
+            writer.setPrefix(pPrefix, SPConstants.POLICY.getNamespaceURI());
+        }
+
+        // <wsp:Policy>
+        writer.writeStartElement(pPrefix, SPConstants.POLICY.getLocalPart(),
+                                 SPConstants.POLICY.getNamespaceURI());
+
+        if (isRequiresKerberosV5Token()) {
+            // <sp:WssKerberosV5ApReqToken11 />
+            writer.writeStartElement(prefix,SPConstants.REQUIRE_KERBEROS_V5_TOKEN_11,
+                                     namespaceURI);
+            writer.writeEndElement();
+        }
+
+        if (isRequiresGssKerberosV5Token()) {
+            // <sp:WssGssKerberosV5ApReqToken11 ... />
+            writer.writeStartElement(prefix,
+                                     SPConstants.REQUIRE_KERBEROS_GSS_V5_TOKEN_11,
+                                     namespaceURI);
+            writer.writeEndElement();
+        }
+
+        if (isRequiresKeyIdentifierReference()) {
+            // <sp:RequireKeyIdentifierReference />
+            writer.writeStartElement(prefix,
+                                     SPConstants.REQUIRE_KEY_IDENTIFIRE_REFERENCE,
+                                     namespaceURI);
+            writer.writeEndElement();
+        }
+
+        // </wsp:Policy>
+        writer.writeEndElement();
+
+        // </sp:KerberosToken>
+        writer.writeEndElement();
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredElements.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredElements.java
index e940d43..854afc4 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredElements.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredElements.java
@@ -31,9 +31,9 @@
 
 public class RequiredElements extends AbstractSecurityAssertion {
 
-    private ArrayList xPathExpressions = new ArrayList();
+    private ArrayList<String> xPathExpressions = new ArrayList<String>();
     
-    private HashMap declaredNamespaces = new HashMap();
+    private HashMap<String, String> declaredNamespaces = new HashMap<String, String>();
 
     private String xPathVersion;
 
@@ -44,7 +44,7 @@
     /**
      * @return Returns the xPathExpressions.
      */
-    public ArrayList getXPathExpressions() {
+    public ArrayList<String> getXPathExpressions() {
         return xPathExpressions;
     }
 
@@ -67,7 +67,7 @@
         xPathVersion = pathVersion;
     }
     
-    public HashMap getDeclaredNamespaces () {
+    public HashMap<String, String> getDeclaredNamespaces () {
         return declaredNamespaces;
     }
     
@@ -90,7 +90,7 @@
 
         String xpathExpression;
 
-        for (Iterator iterator = xPathExpressions.iterator(); iterator
+        for (Iterator<String> iterator = xPathExpressions.iterator(); iterator
                 .hasNext();) {
             xpathExpression = (String) iterator.next();
             // <sp:XPath ..>
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredParts.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredParts.java
index 3ccd530..af03d06 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredParts.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/RequiredParts.java
@@ -24,13 +24,12 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.PolicyComponent;
-import org.apache.ws.secpolicy.SP11Constants;
 import org.apache.ws.secpolicy.SP12Constants;
 import org.apache.ws.secpolicy.SPConstants;
 
 public class RequiredParts extends AbstractSecurityAssertion {
     
-    private ArrayList headers = new ArrayList();
+    private ArrayList<Header> headers = new ArrayList<Header>();
     
     public RequiredParts(int version) {
         setVersion(version);
@@ -39,7 +38,7 @@
     /**
      * @return Returns the headers.
      */
-    public ArrayList getHeaders() {
+    public ArrayList<Header> getHeaders() {
         return this.headers;
     }
 
@@ -68,8 +67,8 @@
         writeStartElement(writer, prefix, localName, namespaceURI);
         
         Header header;        
-        for (Iterator iterator = headers.iterator(); iterator.hasNext();) {
-            header = (Header) iterator.next();
+        for (Iterator<Header> iterator = headers.iterator(); iterator.hasNext();) {
+            header = iterator.next();
             // <sp:Header Name=".." Namespace=".." />
             writeStartElement(writer, prefix, SPConstants.HEADER, namespaceURI);
             // Name attribute is optional
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java
index 915f2f1..e5ba5f1 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedElements.java
@@ -31,9 +31,9 @@
 
 public class SignedEncryptedElements extends AbstractSecurityAssertion {
 
-    private ArrayList xPathExpressions = new ArrayList();
+    private ArrayList<String> xPathExpressions = new ArrayList<String>();
     
-    private HashMap declaredNamespaces = new HashMap();
+    private HashMap<String, String> declaredNamespaces = new HashMap<String, String>();
 
     private String xPathVersion;
 
@@ -51,7 +51,7 @@
     /**
      * @return Returns the xPathExpressions.
      */
-    public ArrayList getXPathExpressions() {
+    public ArrayList<String> getXPathExpressions() {
         return xPathExpressions;
     }
 
@@ -81,7 +81,7 @@
         return signedElemets;
     }
     
-    public HashMap getDeclaredNamespaces () {
+    public HashMap<String, String> getDeclaredNamespaces () {
         return declaredNamespaces;
     }
     
@@ -104,9 +104,9 @@
 
         String xpathExpression;
 
-        for (Iterator iterator = xPathExpressions.iterator(); iterator
+        for (Iterator<String> iterator = xPathExpressions.iterator(); iterator
                 .hasNext();) {
-            xpathExpression = (String) iterator.next();
+            xpathExpression = iterator.next();
             // <sp:XPath ..>
             writeStartElement(writer, prefix, SPConstants.XPATH_EXPR, namespaceURI);
 
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
index cdf3576..543412e 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SignedEncryptedParts.java
@@ -34,7 +34,7 @@
     
     private boolean attachments;
     
-    private ArrayList headers = new ArrayList();
+    private ArrayList<Header> headers = new ArrayList<Header>();
     
     private boolean signedParts;
 
@@ -84,7 +84,7 @@
     /**
      * @return Returns the headers.
      */
-    public ArrayList getHeaders() {
+    public ArrayList<Header> getHeaders() {
         return this.headers;
     }
 
@@ -137,8 +137,8 @@
         }
         
         Header header;        
-        for (Iterator iterator = headers.iterator(); iterator.hasNext();) {
-            header = (Header) iterator.next();
+        for (Iterator<Header> iterator = headers.iterator(); iterator.hasNext();) {
+            header = iterator.next();
             // <sp:Header Name=".." Namespace=".." />
             writeStartElement(writer, prefix, SPConstants.HEADER, namespaceURI);
             // Name attribute is optional
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java
index 9a0a7b5..5473529 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SupportingToken.java
@@ -43,7 +43,7 @@
 
     private AlgorithmSuite algorithmSuite;
 
-    private ArrayList tokens = new ArrayList();
+    private ArrayList<Token> tokens = new ArrayList<Token>();
 
     private SignedEncryptedElements signedElements;
 
@@ -84,7 +84,7 @@
     /**
      * @return Returns the token.
      */
-    public ArrayList getTokens() {
+    public ArrayList<Token> getTokens() {
         return tokens;
     }
 
@@ -289,25 +289,29 @@
         writeStartElement(writer, SPConstants.POLICY);
 
         Token token;
-        for (Iterator iterator = getTokens().iterator(); iterator.hasNext();) {
+        for (Iterator<Token> iterator = getTokens().iterator(); iterator.hasNext();) {
             // [Token Assertion] +
-            token = (Token) iterator.next();
+            token = iterator.next();
             token.serialize(writer);
         }
 
         
         if (signedParts != null) {
             signedParts.serialize(writer);
-            
-        } else if (signedElements != null) {
+        }
+        
+        if (signedElements != null) {
             signedElements.serialize(writer);
-            
-        } else if (encryptedParts != null) {
+        }
+        
+        if (encryptedParts != null) {
             encryptedParts.serialize(writer);
-            
-        } else if (encryptedElements != null) {
+        }
+        
+        if (encryptedElements != null) {
             encryptedElements.serialize(writer);
         }
+        
         // </wsp:Policy>
         writer.writeEndElement();
 
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java
index b4c04f9..9ee821a 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java
@@ -24,12 +24,14 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.All;
+import org.apache.neethi.Assertion;
 import org.apache.neethi.ExactlyOne;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyComponent;
 import org.apache.ws.secpolicy.SP11Constants;
 import org.apache.ws.secpolicy.SP12Constants;
 import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.WSSPolicyException;
 
 public class SymmetricBinding extends SymmetricAsymmetricBindingBase {
 
@@ -52,11 +54,13 @@
 
     /**
      * @param encryptionToken The encryptionToken to set.
+     * @throws WSSPolicyException 
      */
-    public void setEncryptionToken(EncryptionToken encryptionToken)  {
+    public void setEncryptionToken(EncryptionToken encryptionToken) 
+    		throws WSSPolicyException  {
         if(this.protectionToken != null) {
-//            throw new WSSPolicyException("Cannot use an EncryptionToken in a " +
-//                    "SymmetricBinding when there is a ProtectionToken");
+            throw new WSSPolicyException("Cannot use an EncryptionToken in a " +
+                    "SymmetricBinding when there is a ProtectionToken");
         }
         this.encryptionToken = encryptionToken;
     }
@@ -70,12 +74,14 @@
 
     /**
      * @param protectionToken The protectionToken to set.
+     * @throws WSSPolicyException 
      */
-    public void setProtectionToken(ProtectionToken protectionToken)  {
+    public void setProtectionToken(ProtectionToken protectionToken) 
+    		throws WSSPolicyException  {
         if(this.encryptionToken != null || this.signatureToken != null) {
-//            throw new WSSPolicyException("Cannot use a ProtectionToken in a " +
-//            "SymmetricBinding when there is a SignatureToken or an" +
-//            "EncryptionToken");
+            throw new WSSPolicyException("Cannot use a ProtectionToken in a " +
+            "SymmetricBinding when there is a SignatureToken or an" +
+            "EncryptionToken");
         }
         this.protectionToken = protectionToken;
     }
@@ -89,11 +95,13 @@
 
     /**
      * @param signatureToken The signatureToken to set.
+     * @throws WSSPolicyException 
      */
-    public void setSignatureToken(SignatureToken signatureToken) {
+    public void setSignatureToken(SignatureToken signatureToken) 
+    		throws WSSPolicyException {
         if(this.protectionToken != null) {
-//            throw new WSSPolicyException("Cannot use a SignatureToken in a " +
-//                    "SymmetricBinding when there is a ProtectionToken");
+            throw new WSSPolicyException("Cannot use a SignatureToken in a " +
+                    "SymmetricBinding when there is a ProtectionToken");
         }
         this.signatureToken = signatureToken;
     }
@@ -113,7 +121,7 @@
         }
         
         AlgorithmSuite algorithmSuite = getAlgorithmSuite();
-        List configurations = algorithmSuite.getConfigurations();
+        List<Assertion> configurations = algorithmSuite.getConfigurations();
         
         Policy policy = new Policy();
         ExactlyOne exactlyOne = new ExactlyOne();
@@ -121,30 +129,33 @@
         All wrapper;
         SymmetricBinding symmetricBinding;
         
-        for (Iterator iterator = configurations.iterator(); iterator.hasNext();) {
-            wrapper = new All();
-            symmetricBinding = new SymmetricBinding(this.version);
-            
-            algorithmSuite = (AlgorithmSuite) iterator.next();
-            symmetricBinding.setAlgorithmSuite(algorithmSuite);
-            
-            symmetricBinding.setEncryptionToken(getEncryptionToken());
-            symmetricBinding.setEntireHeadersAndBodySignatures(isEntireHeadersAndBodySignatures());
-            symmetricBinding.setIncludeTimestamp(isIncludeTimestamp());
-            symmetricBinding.setLayout(getLayout());
-            symmetricBinding.setProtectionOrder(getProtectionOrder());
-            symmetricBinding.setProtectionToken(getProtectionToken());
-            symmetricBinding.setSignatureProtection(isSignatureProtection());
-            symmetricBinding.setSignatureToken(getSignatureToken());
-            symmetricBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
-            symmetricBinding.setSignedSupportingToken(getSignedSupportingToken());
-            symmetricBinding.setTokenProtection(isTokenProtection());
-            
-            symmetricBinding.setNormalized(true);
-            wrapper.addPolicyComponent(symmetricBinding);
-            exactlyOne.addPolicyComponent(wrapper);
+        try {
+	        for (Iterator<Assertion> iterator = configurations.iterator(); iterator.hasNext();) {
+	            wrapper = new All();
+	            symmetricBinding = new SymmetricBinding(this.version);
+	            
+	            algorithmSuite = (AlgorithmSuite) iterator.next();
+	            symmetricBinding.setAlgorithmSuite(algorithmSuite);
+	            
+	            symmetricBinding.setEncryptionToken(getEncryptionToken());
+	            symmetricBinding.setEntireHeadersAndBodySignatures(isEntireHeadersAndBodySignatures());
+	            symmetricBinding.setIncludeTimestamp(isIncludeTimestamp());
+	            symmetricBinding.setLayout(getLayout());
+	            symmetricBinding.setProtectionOrder(getProtectionOrder());
+	            symmetricBinding.setProtectionToken(getProtectionToken());
+	            symmetricBinding.setSignatureProtection(isSignatureProtection());
+	            symmetricBinding.setSignatureToken(getSignatureToken());
+	            symmetricBinding.setSignedEndorsingSupportingTokens(getSignedEndorsingSupportingTokens());
+	            symmetricBinding.setSignedSupportingToken(getSignedSupportingToken());
+	            symmetricBinding.setTokenProtection(isTokenProtection());
+	            
+	            symmetricBinding.setNormalized(true);
+	            wrapper.addPolicyComponent(symmetricBinding);
+	            exactlyOne.addPolicyComponent(wrapper);
+	        }
+        } catch (WSSPolicyException e) {
+        	throw new IllegalArgumentException(e);
         }
-        
         policy.addPolicyComponent(exactlyOne);
         return policy;
     }
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java
index e9472cd..892cbc6 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/TransportBinding.java
@@ -25,6 +25,7 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.All;
+import org.apache.neethi.Assertion;
 import org.apache.neethi.ExactlyOne;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyComponent;
@@ -36,7 +37,7 @@
 
     private TransportToken transportToken;
 
-    private List transportBindings;
+    private List<TransportBinding> transportBindings;
     
     private boolean tokenProtection;
 
@@ -74,7 +75,7 @@
     }
     
 
-    public List getConfigurations() {
+    public List<TransportBinding> getConfigurations() {
         return transportBindings;
     }
 
@@ -87,7 +88,7 @@
 
     public void addConfiguration(TransportBinding transportBinding) {
         if (transportBindings == null) {
-            transportBindings = new ArrayList();
+            transportBindings = new ArrayList<TransportBinding>();
         }
         transportBindings.add(transportBinding);
     }
@@ -106,7 +107,7 @@
         }
 
         AlgorithmSuite algorithmSuite = getAlgorithmSuite();
-        List configurations = algorithmSuite.getConfigurations();
+        List<Assertion> configurations = algorithmSuite.getConfigurations();
 
         if (configurations != null && configurations.size() == 1) {
             setNormalized(true);
@@ -119,7 +120,7 @@
         All wrapper;
         TransportBinding transportBinding;
 
-        for (Iterator iterator = configurations.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = configurations.iterator(); iterator.hasNext();) {
             wrapper = new All();
             transportBinding = new TransportBinding(this.getVersion());
 
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust10.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust10.java
index 9ad5b3d..474c395 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust10.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust10.java
@@ -23,7 +23,6 @@
 import org.apache.neethi.PolicyComponent;
 import org.apache.ws.secpolicy.SP11Constants;
 import org.apache.ws.secpolicy.SPConstants;
-import org.apache.ws.secpolicy.SP12Constants;
 
 /**
  * Model bean to capture Trust10 assertion info
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust13.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust13.java
index 56e14b2..7b1154d 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust13.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/Trust13.java
@@ -21,7 +21,6 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.neethi.PolicyComponent;
-import org.apache.ws.secpolicy.SP11Constants;
 import org.apache.ws.secpolicy.SPConstants;
 import org.apache.ws.secpolicy.SP12Constants;
 
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/UsernameToken.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/UsernameToken.java
index 2d99399..0558db7 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/UsernameToken.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/UsernameToken.java
@@ -109,46 +109,41 @@
         if (inclusion != null) {
             writeAttribute(writer, prefix, namespaceURI, SPConstants.ATTR_INCLUDE_TOKEN, inclusion);
         }
-
-        if (isUseUTProfile10() || isUseUTProfile11()) {
-            // <wsp:Policy>
-            writeStartElement(writer, SPConstants.POLICY);
-
-            // CHECKME
-            if (isUseUTProfile10()) {
-                // <sp:WssUsernameToken10 />
-                writeStartElement(writer, prefix, SPConstants.USERNAME_TOKEN10 , namespaceURI);
-            } else {
-                // <sp:WssUsernameToken11 />
-                writeStartElement(writer, prefix, SPConstants.USERNAME_TOKEN11 , namespaceURI);
+        
+        // <wsp:Policy>
+        writeStartElement(writer, SPConstants.POLICY);
+        
+        if (version == SPConstants.SP_V12) {
+            
+            if (isNoPassword()) {
+                writeEmptyElement(writer, prefix, SPConstants.NO_PASSWORD, namespaceURI);
+            } else if (isHashPassword()){
+                writeEmptyElement(writer, prefix, SPConstants.HASH_PASSWORD, namespaceURI);
             }
             
-            if (version == SPConstants.SP_V12) {
-                
-                if (isNoPassword()) {
-                    writeEmptyElement(writer, prefix, SPConstants.NO_PASSWORD, namespaceURI);
-                } else if (isHashPassword()){
-                    writeEmptyElement(writer, prefix, SPConstants.HASH_PASSWORD, namespaceURI);
-                }
-                
-                if (isDerivedKeys()) {
-                    writeEmptyElement(writer, prefix, SPConstants.REQUIRE_DERIVED_KEYS, namespaceURI);
-                } else if (isExplicitDerivedKeys()) {
-                    writeEmptyElement(writer, prefix, SPConstants.REQUIRE_EXPLICIT_DERIVED_KEYS, namespaceURI);
-                } else if (isImpliedDerivedKeys()) {
-                    writeEmptyElement(writer, prefix, SPConstants.REQUIRE_IMPLIED_DERIVED_KEYS, namespaceURI);
-                }
-                
+            if (isDerivedKeys()) {
+                writeEmptyElement(writer, prefix, SPConstants.REQUIRE_DERIVED_KEYS, namespaceURI);
+            } else if (isExplicitDerivedKeys()) {
+                writeEmptyElement(writer, prefix, SPConstants.REQUIRE_EXPLICIT_DERIVED_KEYS, namespaceURI);
+            } else if (isImpliedDerivedKeys()) {
+                writeEmptyElement(writer, prefix, SPConstants.REQUIRE_IMPLIED_DERIVED_KEYS, namespaceURI);
             }
-            writer.writeEndElement();
-
-            // </wsp:Policy>
-            writer.writeEndElement();
-
+            
+        }
+        
+        if (isUseUTProfile10()) {
+            // <sp:WssUsernameToken10 />
+        	writeEmptyElement(writer, prefix, SPConstants.USERNAME_TOKEN10 , namespaceURI);
+        } else if(isUseUTProfile11()) {
+            // <sp:WssUsernameToken11 />
+        	writeEmptyElement(writer, prefix, SPConstants.USERNAME_TOKEN11 , namespaceURI);
         }
 
+        // </wsp:Policy>
         writer.writeEndElement();
+
         // </sp:UsernameToken>
+        writer.writeEndElement();
 
     }
 }
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AlgorithmSuiteBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AlgorithmSuiteBuilder.java
index cd6596c..444f567 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AlgorithmSuiteBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AlgorithmSuiteBuilder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
                  
-        Iterator iterAlterns = policy.getAlternatives();
-        List assertions = ((List) iterAlterns.next());
+        Iterator<List<Assertion>> iterAlterns = policy.getAlternatives();
+        List<Assertion> assertions = iterAlterns.next();
         
         processAlternative(assertions, algorithmSuite);
                 
@@ -49,8 +49,8 @@
         
     }
     
-    private void processAlternative(List assertions, AlgorithmSuite algorithmSuite) {        
-        Iterator iterator = assertions.iterator();
+    private void processAlternative(List<Assertion> assertions, AlgorithmSuite algorithmSuite) {        
+        Iterator<Assertion> iterator = assertions.iterator();
         Assertion assertion = ((Assertion) iterator.next());
         String name = assertion.getName().getLocalPart();
         try {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AsymmetricBindingBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AsymmetricBindingBuilder.java
index 773a163..b57eaca 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AsymmetricBindingBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/AsymmetricBindingBuilder.java
@@ -43,8 +43,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), asymmetricBinding);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), asymmetricBinding);
             
             /*
              * since there should be only one alternative
@@ -55,13 +55,13 @@
         return asymmetricBinding;
     }
     
-    private void processAlternative(List assertions, AsymmetricBinding asymmetricBinding) {
+    private void processAlternative(List<Assertion> assertions, AsymmetricBinding asymmetricBinding) {
                
         Assertion assertion;
         QName name;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
             
             if (SP11Constants.INITIATOR_TOKEN.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptionTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptionTokenBuilder.java
new file mode 100644
index 0000000..72bb876
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptionTokenBuilder.java
@@ -0,0 +1,65 @@
+/*
+ * 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.ws.secpolicy11.builders;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.SP11Constants;
+import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.model.EncryptionToken;
+import org.apache.ws.secpolicy.model.Token;
+
+public class EncryptionTokenBuilder  implements AssertionBuilder<OMElement> {
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        EncryptionToken encrToken = new EncryptionToken(SPConstants.SP_V11);
+        
+        Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
+        policy = (Policy) policy.normalize(false);
+        
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), encrToken);
+            break; // since there should be only one alternative ..
+        }
+        
+        return encrToken;
+    }
+        
+    public QName[] getKnownElements() {
+        return new QName[] {SP11Constants.ENCRYPTION_TOKEN};
+    }
+
+    private void processAlternative(List<Assertion> assertions, EncryptionToken parent) {
+        Object token = assertions.get(0);
+        
+        if (token instanceof Token) {
+            parent.setToken((Token) token);
+        }
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/InitiatorTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/InitiatorTokenBuilder.java
index 38ad413..52f8bdb 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/InitiatorTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/InitiatorTokenBuilder.java
@@ -40,19 +40,19 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false); 
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), initiatorToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), initiatorToken);
             break; // TODO process all the token that must be set ..
         }
         
         return initiatorToken;
     }
     
-    private void processAlternative(List assertions, InitiatorToken parent) {
+    private void processAlternative(List<Assertion> assertions, InitiatorToken parent) {
         
         Object token;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
             token = iterator.next();
             
             if (token instanceof Token) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/IssuedTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/IssuedTokenBuilder.java
index 0df9307..46e81e3 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/IssuedTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/IssuedTokenBuilder.java
@@ -83,9 +83,9 @@
             Policy policy = PolicyEngine.getPolicy(policyElement);
             policy = (Policy) policy.normalize(false);
 
-            for (Iterator iterator = policy.getAlternatives(); iterator
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator
                     .hasNext();) {
-                processAlternative((List) iterator.next(), issuedToken);
+                processAlternative(iterator.next(), issuedToken);
                 break; // since there should be only one alternative ..
             }
         }
@@ -97,12 +97,12 @@
         return new QName[] { SP11Constants.ISSUED_TOKEN };
     }
 
-    private void processAlternative(List assertions, IssuedToken parent) {
+    private void processAlternative(List<Assertion> assertions, IssuedToken parent) {
         Assertion assertion;
         QName name;
 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
 
             if (SP11Constants.REQUIRE_DERIVED_KEYS.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/KerberosTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/KerberosTokenBuilder.java
new file mode 100644
index 0000000..53719d0
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/KerberosTokenBuilder.java
@@ -0,0 +1,84 @@
+/*
+ * 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.ws.secpolicy11.builders;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.SP11Constants;
+import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.model.KerberosToken;
+
+/**
+ * Builder for {@link KerberosToken} assertion (WS Security Policy version 1.1)
+ */
+public class KerberosTokenBuilder implements AssertionBuilder<OMElement> {
+    public Assertion build(OMElement element, AssertionBuilderFactory arg1) 
+            throws IllegalArgumentException {
+        KerberosToken kerberosToken = new KerberosToken(SPConstants.SP_V11);
+
+        OMElement policyElement = element.getFirstElement();
+
+        // Process token inclusion
+        OMAttribute includeAttr = element.getAttribute(SP11Constants.INCLUDE_TOKEN);
+
+        if (includeAttr != null) {
+            int inclusion = SP11Constants.getInclusionFromAttributeValue(
+                                  includeAttr.getAttributeValue());
+            kerberosToken.setInclusion(inclusion);
+        }
+
+        if (policyElement != null) {
+            Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
+            policy = policy.normalize(false);
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+                processAlternative(iterator.next(), kerberosToken);
+                 // there should be only one alternative
+                break;
+            }
+        }
+        return kerberosToken;
+    }
+
+    private void processAlternative(List<Assertion> assertions, KerberosToken parent) {
+        for (Assertion assertion : assertions) {
+            QName name = assertion.getName();
+            if (SP11Constants.REQUIRE_KERBEROS_V5_TOKEN_11.equals(name)) {
+                parent.setRequiresKerberosV5Token(true);
+            } else if (SP11Constants.REQUIRE_KERBEROS_GSS_V5_TOKEN_11.equals(name)) {
+                parent.setRequiresGssKerberosV5Token(true);
+            } else if (SP11Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.equals(name)) {
+                parent.setRequiresKeyIdentifierReference(true);
+            }
+        }
+    }
+
+    public QName[] getKnownElements() {
+        return new QName[] { SP11Constants.KERBEROS_TOKEN };
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/LayoutBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/LayoutBuilder.java
index 94b1e9d..6eb16d4 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/LayoutBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/LayoutBuilder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext(); ) {
-            processAlternative((List) iterator.next(), layout);         
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext(); ) {
+            processAlternative(iterator.next(), layout);         
             break; // there should be only one alternative
         }
                         
@@ -52,10 +52,10 @@
         return new QName[] {SP11Constants.LAYOUT};
     }
 
-    public void processAlternative(List assertions, Layout parent) {
+    public void processAlternative(List<Assertion> assertions, Layout parent) {
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            Assertion assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            Assertion assertion = iterator.next();
             QName qname = assertion.getName();
             
             if (SP11Constants.STRICT.equals(qname)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/ProtectionTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/ProtectionTokenBuilder.java
index 91c075a..fe4e882 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/ProtectionTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/ProtectionTokenBuilder.java
@@ -39,8 +39,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), protectionToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), protectionToken);
             break; // since there should be only one alternative ..
         }
         
@@ -51,7 +51,7 @@
         return new QName[] {SP11Constants.PROTECTION_TOKEN};
     }
 
-    private void processAlternative(List assertions, ProtectionToken parent) {
+    private void processAlternative(List<Assertion> assertions, ProtectionToken parent) {
         Object token = assertions.get(0);
         
         if (token instanceof Token) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RecipientTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RecipientTokenBuilder.java
index 41575c8..c1393fc 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RecipientTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RecipientTokenBuilder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), recipientToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), recipientToken);
             
             /* 
              * for the moment we will pick the first token specified in the policy
@@ -52,12 +52,12 @@
         return recipientToken;
     }
 
-    private void processAlternative(List assertions, RecipientToken parent) {
+    private void processAlternative(List<Assertion> assertions, RecipientToken parent) {
         
         Assertion assertion;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             
             if (assertion instanceof Token) {
                 parent.setToken((Token) assertion);
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignatureTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignatureTokenBuilder.java
new file mode 100644
index 0000000..b81230f
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignatureTokenBuilder.java
@@ -0,0 +1,65 @@
+/*
+ * 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.ws.secpolicy11.builders;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.SP11Constants;
+import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.model.SignatureToken;
+import org.apache.ws.secpolicy.model.Token;
+
+public class SignatureTokenBuilder  implements AssertionBuilder<OMElement> {
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+    	SignatureToken sigToken = new SignatureToken(SPConstants.SP_V11);
+        
+        Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
+        policy = (Policy) policy.normalize(false);
+        
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), sigToken);
+            break; // since there should be only one alternative ..
+        }
+        
+        return sigToken;
+    }
+        
+    public QName[] getKnownElements() {
+        return new QName[] {SP11Constants.SIGNATURE_TOKEN};
+    }
+
+    private void processAlternative(List<Assertion> assertions, SignatureToken parent) {
+        Object token = assertions.get(0);
+        
+        if (token instanceof Token) {
+            parent.setToken((Token) token);
+        }
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java
index 8caa5f5..07df503 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedPartsBuilder.java
@@ -43,7 +43,7 @@
             processElement((OMElement) iterator.next(), signedEncryptedParts);
         }
 
-        // Presense of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks
+        // Presence of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks
         if(!element.getChildren().hasNext()){
             signedEncryptedParts.setBody(true);
             signedEncryptedParts.setSignAllHeaders(true);
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java
index d37bbe8..5e9306c 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SupportingTokensBuilder.java
@@ -62,8 +62,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
 
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), supportingToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), supportingToken);
             /*
              * for the moment we will say there should be only one alternative 
              */
@@ -80,11 +80,11 @@
                 SP11Constants.SIGNED_ENDORSING_SUPPORTING_TOKENS};
     }
 
-    private void processAlternative(List assertions, SupportingToken supportingToken) {
+    private void processAlternative(List<Assertion> assertions, SupportingToken supportingToken) {
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
 
-            Assertion primitive = (Assertion) iterator.next();
+            Assertion primitive = iterator.next();
             QName qname = primitive.getName();
 
             if (SP11Constants.ALGORITHM_SUITE.equals(qname)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SymmetricBindingBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SymmetricBindingBuilder.java
index 48011be..d3d2f72 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SymmetricBindingBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SymmetricBindingBuilder.java
@@ -28,9 +28,12 @@
 import org.apache.neethi.builders.AssertionBuilder;
 import org.apache.ws.secpolicy.SP11Constants;
 import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.WSSPolicyException;
 import org.apache.ws.secpolicy.model.AlgorithmSuite;
+import org.apache.ws.secpolicy.model.EncryptionToken;
 import org.apache.ws.secpolicy.model.Layout;
 import org.apache.ws.secpolicy.model.ProtectionToken;
+import org.apache.ws.secpolicy.model.SignatureToken;
 import org.apache.ws.secpolicy.model.SymmetricBinding;
 
 public class SymmetricBindingBuilder implements AssertionBuilder<OMElement> {
@@ -41,8 +44,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternatives((List) iterator.next(), symmetricBinding);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternatives(iterator.next(), symmetricBinding);
             
             /*
              * since there should be only one alternative ..
@@ -56,37 +59,47 @@
         return new QName[] {SP11Constants.SYMMETRIC_BINDING};
     }
     
-    private void processAlternatives(List assertions, SymmetricBinding symmetricBinding) {
+    private void processAlternatives(List<Assertion> assertions, SymmetricBinding symmetricBinding) {
         Assertion assertion;
         QName name;
-        
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
-            name = assertion.getName();
-            
-            if (SP11Constants.ALGORITHM_SUITE.equals(name)) {
-                symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion);
-                
-            } else if (SP11Constants.LAYOUT.equals(name)) {
-                symmetricBinding.setLayout((Layout) assertion);
-                
-            } else if (SP11Constants.INCLUDE_TIMESTAMP.equals(name)) {
-                symmetricBinding.setIncludeTimestamp(true);
-                
-            } else if (SP11Constants.PROTECTION_TOKEN.equals(name)) {
-                symmetricBinding.setProtectionToken((ProtectionToken) assertion);
-                
-            } else if (SPConstants.ENCRYPT_BEFORE_SIGNING.equals(name.getLocalPart())) {
-                symmetricBinding.setProtectionOrder(SPConstants.ENCRYPT_BEFORE_SIGNING);
-                
-            } else if (SPConstants.SIGN_BEFORE_ENCRYPTING.equals(name.getLocalPart())) {
-                symmetricBinding.setProtectionOrder(SPConstants.SIGN_BEFORE_ENCRYPTING);
-                
-            } else if (SPConstants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name.getLocalPart())) {
-                symmetricBinding.setEntireHeadersAndBodySignatures(true);
-            } else if (SP11Constants.ENCRYPT_SIGNATURE.equals(name)) {
-                symmetricBinding.setSignatureProtection(true);
-            }
-        }        
+        try {
+	        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+	            assertion = iterator.next();
+	            name = assertion.getName();
+	            
+	            if (SP11Constants.ALGORITHM_SUITE.equals(name)) {
+	                symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion);
+	                
+	            } else if (SP11Constants.LAYOUT.equals(name)) {
+	                symmetricBinding.setLayout((Layout) assertion);
+	                
+	            } else if (SP11Constants.INCLUDE_TIMESTAMP.equals(name)) {
+	                symmetricBinding.setIncludeTimestamp(true);
+	                
+	            } else if (SP11Constants.PROTECTION_TOKEN.equals(name)) {
+	                symmetricBinding.setProtectionToken((ProtectionToken) assertion);
+	                
+	            } else if (SPConstants.ENCRYPT_BEFORE_SIGNING.equals(name.getLocalPart())) {
+	                symmetricBinding.setProtectionOrder(SPConstants.ENCRYPT_BEFORE_SIGNING);
+	                
+	            } else if (SPConstants.SIGN_BEFORE_ENCRYPTING.equals(name.getLocalPart())) {
+	                symmetricBinding.setProtectionOrder(SPConstants.SIGN_BEFORE_ENCRYPTING);
+	                
+	            } else if (SPConstants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name.getLocalPart())) {
+	                symmetricBinding.setEntireHeadersAndBodySignatures(true);
+	                
+	            } else if (SP11Constants.ENCRYPT_SIGNATURE.equals(name)) {
+	                symmetricBinding.setSignatureProtection(true);
+	                
+	            } else if (SP11Constants.ENCRYPTION_TOKEN.equals(name)) {
+	                symmetricBinding.setEncryptionToken((EncryptionToken) assertion);
+	                
+	            } else if (SP11Constants.SIGNATURE_TOKEN.equals(name)) {
+	                symmetricBinding.setSignatureToken((SignatureToken) assertion);
+	            }
+	        }
+        } catch (WSSPolicyException e) {
+        	throw new IllegalArgumentException(e);
+        }
     }
 }
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportBindingBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportBindingBuilder.java
index 4809b4c..a1198c8 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportBindingBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportBindingBuilder.java
@@ -42,8 +42,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), transportBinding, factory);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), transportBinding, factory);
             
             /*
              * since there should be only one alternative
@@ -58,11 +58,11 @@
         return new QName[] {SP11Constants.TRANSPORT_BINDING};
     }
 
-    private void processAlternative(List assertionList, TransportBinding parent, AssertionBuilderFactory factory) {
+    private void processAlternative(List<Assertion> assertionList, TransportBinding parent, AssertionBuilderFactory factory) {
         
-        for (Iterator iterator = assertionList.iterator(); iterator.hasNext(); ) {
+        for (Iterator<Assertion> iterator = assertionList.iterator(); iterator.hasNext(); ) {
             
-            Assertion primitive = (Assertion) iterator.next();
+            Assertion primitive = iterator.next();
             QName name = primitive.getName();
             
             if (name.equals(SP11Constants.ALGORITHM_SUITE)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportTokenBuilder.java
index 1eeb524..e99eb0d 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/TransportTokenBuilder.java
@@ -20,7 +20,6 @@
 
 import javax.xml.namespace.QName;
 
-import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.neethi.Assertion;
 import org.apache.neethi.AssertionBuilderFactory;
@@ -43,8 +42,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), transportToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), transportToken);
             break; // since there should be only one alternative
         }
         
@@ -55,10 +54,10 @@
         return new QName[] {SP11Constants.TRANSPORT_TOKEN};
     }
     
-    private void processAlternative(List assertions, TransportToken parent) {
+    private void processAlternative(List<Assertion> assertions, TransportToken parent) {
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            Assertion primtive = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            Assertion primtive = iterator.next();
             QName qname = primtive.getName();
             
             if (SP11Constants.HTTPS_TOKEN.equals(qname)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java
index 74a70e7..d9a4016 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/UsernameTokenBuilder.java
@@ -53,13 +53,13 @@
         
         OMElement policyElement = element.getFirstElement();
         
-        if (policyElement != null && !policyElement.getQName().equals(org.apache.neethi.Constants.Q_ELEM_POLICY)) {
+        if (policyElement != null && policyElement.getQName().equals(org.apache.neethi.Constants.Q_ELEM_POLICY)) {
         
             Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
             policy = (Policy) policy.normalize(false);
             
-            for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-                processAlternative((List) iterator.next(), usernameToken);
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+                processAlternative(iterator.next(), usernameToken);
                 
                 /*
                  * since there should be only one alternative
@@ -75,10 +75,10 @@
         return new QName[] {SP11Constants.USERNAME_TOKEN};
     }
 
-    private void processAlternative(List assertions, UsernameToken parent) {
+    private void processAlternative(List<Assertion> assertions, UsernameToken parent) {
                 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            Assertion assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            Assertion assertion = iterator.next();
             QName qname = assertion.getName();
             
             if (SP11Constants.WSS_USERNAME_TOKEN10.equals(qname)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS10Builder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS10Builder.java
index aeaf0c6..2102394 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS10Builder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS10Builder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), wss10);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), wss10);
             /*
              * since there should be only one alternative
              */
@@ -55,13 +55,13 @@
         return new QName[] {SP11Constants.WSS10};
     }
     
-    private void processAlternative(List assertions, Wss10 parent) {
+    private void processAlternative(List<Assertion> assertions, Wss10 parent) {
         
         Assertion assertion;
         QName name;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext(); ) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext(); ) {
+            assertion = iterator.next();
             name = assertion.getName();
             
             if (SP11Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS11Builder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS11Builder.java
index 177ac5e..a084576 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS11Builder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/WSS11Builder.java
@@ -39,8 +39,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
 
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), wss11);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), wss11);
             /*
              * since there should be only one alternative
              */
@@ -54,13 +54,13 @@
         return new QName[] {SP11Constants.WSS11};
     }
 
-    private void processAlternative(List assertions, Wss11 parent) {
+    private void processAlternative(List<Assertion> assertions, Wss11 parent) {
         
         Assertion assertion;
         QName name;
 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
 
             if (SP11Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java
index c08cc21..5cd4b01 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/X509TokenBuilder.java
@@ -77,9 +77,9 @@
             Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
             policy = (Policy) policy.normalize(false);
 
-            for (Iterator iterator = policy.getAlternatives(); iterator
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator
                     .hasNext();) {
-                processAlternative((List) iterator.next(), x509Token);
+                processAlternative(iterator.next(), x509Token);
                 
                 /*
                  * since there should be only one alternative
@@ -105,12 +105,12 @@
         return x509Token;
     }
 
-    private void processAlternative(List assertions, X509Token parent) {
+    private void processAlternative(List<Assertion> assertions, X509Token parent) {
                 Assertion assertion;
         QName name;
 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
 
             if (SP11Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AlgorithmSuiteBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AlgorithmSuiteBuilder.java
index 5a6b0ee..e484ed4 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AlgorithmSuiteBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AlgorithmSuiteBuilder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
                  
-        Iterator iterAlterns = policy.getAlternatives();
-        List assertions = ((List) iterAlterns.next());
+        Iterator<List<Assertion>> iterAlterns = policy.getAlternatives();
+        List<Assertion> assertions = iterAlterns.next();
         
         processAlternative(assertions, algorithmSuite);
                 
@@ -49,9 +49,9 @@
         
     }
     
-    private void processAlternative(List assertions, AlgorithmSuite algorithmSuite) {        
-        Iterator iterator = assertions.iterator();
-        Assertion assertion = ((Assertion) iterator.next());
+    private void processAlternative(List<Assertion> assertions, AlgorithmSuite algorithmSuite) {        
+        Iterator<Assertion> iterator = assertions.iterator();
+        Assertion assertion = iterator.next();
         String name = assertion.getName().getLocalPart();
         try {
             algorithmSuite.setAlgorithmSuite(name);
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AsymmetricBindingBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AsymmetricBindingBuilder.java
index d6cee0c..b29e061 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AsymmetricBindingBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/AsymmetricBindingBuilder.java
@@ -43,8 +43,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), asymmetricBinding);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), asymmetricBinding);
             
             /*
              * since there should be only one alternative
@@ -55,13 +55,13 @@
         return asymmetricBinding;
     }
     
-    private void processAlternative(List assertions, AsymmetricBinding asymmetricBinding) {
+    private void processAlternative(List<Assertion> assertions, AsymmetricBinding asymmetricBinding) {
                
         Assertion assertion;
         QName name;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
             
             if (SP12Constants.INITIATOR_TOKEN.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptionTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptionTokenBuilder.java
new file mode 100644
index 0000000..5ee6e14
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptionTokenBuilder.java
@@ -0,0 +1,65 @@
+/*
+ * 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.ws.secpolicy12.builders;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.SP12Constants;
+import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.model.EncryptionToken;
+import org.apache.ws.secpolicy.model.Token;
+
+public class EncryptionTokenBuilder  implements AssertionBuilder<OMElement> {
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+        EncryptionToken encrToken = new EncryptionToken(SPConstants.SP_V12);
+        
+        Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
+        policy = (Policy) policy.normalize(false);
+        
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), encrToken);
+            break; // since there should be only one alternative ..
+        }
+        
+        return encrToken;
+    }
+        
+    public QName[] getKnownElements() {
+        return new QName[] {SP12Constants.ENCRYPTION_TOKEN};
+    }
+
+    private void processAlternative(List<Assertion> assertions, EncryptionToken parent) {
+        Object token = assertions.get(0);
+        
+        if (token instanceof Token) {
+            parent.setToken((Token) token);
+        }
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/HttpsTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/HttpsTokenBuilder.java
index c5faa09..b953ac0 100644
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/HttpsTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/HttpsTokenBuilder.java
@@ -54,8 +54,8 @@
             Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
             policy = (Policy) policy.normalize(false);
 
-            for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-                processAlternative((List) iterator.next(), httpsToken);
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+                processAlternative(iterator.next(), httpsToken);
                 break; // since there should be only one alternative
             }
         }
@@ -82,10 +82,10 @@
      * @param assertions the list of assertions to be searched through.
      * @param parent the https token, that is to be populated with retrieved data.
      */
-    private void processAlternative(List assertions, HttpsToken parent) {
+    private void processAlternative(List<Assertion> assertions, HttpsToken parent) {
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            Assertion primtive = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            Assertion primtive = iterator.next();
             QName qname = primtive.getName();
             
             if (qname != null) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/InitiatorTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/InitiatorTokenBuilder.java
index dd4aba8..c9f3aa8 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/InitiatorTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/InitiatorTokenBuilder.java
@@ -40,19 +40,19 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false); 
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), initiatorToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), initiatorToken);
             break; // TODO process all the token that must be set ..
         }
         
         return initiatorToken;
     }
     
-    private void processAlternative(List assertions, InitiatorToken parent) {
+    private void processAlternative(List<Assertion> assertions, InitiatorToken parent) {
         
         Object token;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
             token = iterator.next();
             
             if (token instanceof Token) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java
index f0fb936..ad06422 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/IssuedTokenBuilder.java
@@ -84,9 +84,9 @@
             Policy policy = PolicyEngine.getPolicy(policyElement);
             policy = (Policy) policy.normalize(false);
 
-            for (Iterator iterator = policy.getAlternatives(); iterator
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator
                     .hasNext();) {
-                processAlternative((List) iterator.next(), issuedToken);
+                processAlternative(iterator.next(), issuedToken);
                 break; // since there should be only one alternative ..
             }
         }
@@ -98,12 +98,12 @@
         return new QName[] { SP12Constants.ISSUED_TOKEN };
     }
 
-    private void processAlternative(List assertions, IssuedToken parent) {
+    private void processAlternative(List<Assertion> assertions, IssuedToken parent) {
         Assertion assertion;
         QName name;
 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
 
             if (SP12Constants.REQUIRE_DERIVED_KEYS.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/KerberosTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/KerberosTokenBuilder.java
new file mode 100644
index 0000000..59d2c66
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/KerberosTokenBuilder.java
@@ -0,0 +1,84 @@
+/*
+ * 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.ws.secpolicy12.builders;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.SP12Constants;
+import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.model.KerberosToken;
+
+/**
+ * Builder for {@link KerberosToken} assertion (WS Security Policy version 1.2)
+ */
+public class KerberosTokenBuilder implements AssertionBuilder<OMElement> {
+    public Assertion build(OMElement element, AssertionBuilderFactory arg1) 
+            throws IllegalArgumentException {
+        KerberosToken kerberosToken = new KerberosToken(SPConstants.SP_V12);
+
+        OMElement policyElement = element.getFirstElement();
+
+        // Process token inclusion
+        OMAttribute includeAttr = element.getAttribute(SP12Constants.INCLUDE_TOKEN);
+
+        if (includeAttr != null) {
+            int inclusion = SP12Constants.getInclusionFromAttributeValue(
+                                  includeAttr.getAttributeValue());
+            kerberosToken.setInclusion(inclusion);
+        }
+
+        if (policyElement != null) {
+            Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
+            policy = policy.normalize(false);
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+                processAlternative(iterator.next(), kerberosToken);
+                 // there should be only one alternative
+                break;
+            }
+        }
+        return kerberosToken;
+    }
+
+    private void processAlternative(List<Assertion> assertions, KerberosToken parent) {
+        for (Assertion assertion : assertions) {
+            QName name = assertion.getName();
+            if (SP12Constants.REQUIRE_KERBEROS_V5_TOKEN_11.equals(name)) {
+                parent.setRequiresKerberosV5Token(true);
+            } else if (SP12Constants.REQUIRE_KERBEROS_GSS_V5_TOKEN_11.equals(name)) {
+                parent.setRequiresGssKerberosV5Token(true);
+            } else if (SP12Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.equals(name)) {
+                parent.setRequiresKeyIdentifierReference(true);
+            }
+        }
+    }
+
+    public QName[] getKnownElements() {
+        return new QName[] { SP12Constants.KERBEROS_TOKEN };
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java
index f599df2..a717b1a 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/LayoutBuilder.java
@@ -38,8 +38,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext(); ) {
-            processAlternative((List) iterator.next(), layout);         
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext(); ) {
+            processAlternative(iterator.next(), layout);         
             break; // there should be only one alternative
         }
                         
@@ -50,10 +50,10 @@
         return new QName[] {SP12Constants.LAYOUT};
     }
 
-    public void processAlternative(List assertions, Layout parent) {
+    public void processAlternative(List<Assertion> assertions, Layout parent) {
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            Assertion assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            Assertion assertion = iterator.next();
             QName qname = assertion.getName();
             
             if (SP12Constants.STRICT.equals(qname)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java
index 15d7bf4..860a81a 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ProtectionTokenBuilder.java
@@ -39,8 +39,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), protectionToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), protectionToken);
             break; // since there should be only one alternative ..
         }
         
@@ -51,7 +51,7 @@
         return new QName[] {SP12Constants.PROTECTION_TOKEN};
     }
 
-    private void processAlternative(List assertions, ProtectionToken parent) {
+    private void processAlternative(List<Assertion> assertions, ProtectionToken parent) {
         Object token = assertions.get(0);
         
         if (token instanceof Token) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java
index 0e36654..b15692e 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RecipientTokenBuilder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), recipientToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), recipientToken);
             
             /* 
              * for the moment we will pick the first token specified in the policy
@@ -52,11 +52,11 @@
         return recipientToken;
     }
 
-    private void processAlternative(List assertions, RecipientToken parent) {
+    private void processAlternative(List<Assertion> assertions, RecipientToken parent) {
         
         Assertion assertion;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
             assertion = (Assertion) iterator.next();
             
             if (assertion instanceof Token) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java
new file mode 100644
index 0000000..123e4e5
--- /dev/null
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignatureTokenBuilder.java
@@ -0,0 +1,65 @@
+/*
+ * 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.ws.secpolicy12.builders;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.AssertionBuilderFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.neethi.builders.AssertionBuilder;
+import org.apache.ws.secpolicy.SP12Constants;
+import org.apache.ws.secpolicy.SPConstants;
+import org.apache.ws.secpolicy.model.SignatureToken;
+import org.apache.ws.secpolicy.model.Token;
+
+public class SignatureTokenBuilder  implements AssertionBuilder<OMElement> {
+
+    public Assertion build(OMElement element, AssertionBuilderFactory factory) throws IllegalArgumentException {
+    	SignatureToken sigToken = new SignatureToken(SPConstants.SP_V12);
+        
+        Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
+        policy = (Policy) policy.normalize(false);
+        
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), sigToken);
+            break; // since there should be only one alternative ..
+        }
+        
+        return sigToken;
+    }
+        
+    public QName[] getKnownElements() {
+        return new QName[] {SP12Constants.SIGNATURE_TOKEN};
+    }
+
+    private void processAlternative(List<Assertion> assertions, SignatureToken parent) {
+        Object token = assertions.get(0);
+        
+        if (token instanceof Token) {
+            parent.setToken((Token) token);
+        }
+    }
+}
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java
index 7e796a4..d008781 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedPartsBuilder.java
@@ -45,7 +45,7 @@
 					.booleanValue());
 		}
 
-        //presense of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks
+        //Presence of <sp:SignedParts/> enforces the requirement for sign body and all the header blocks
         if(!element.getChildren().hasNext()){
             signedEncryptedParts.setBody(true);
             signedEncryptedParts.setSignAllHeaders(true);
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java
index 8aab7eb..a01dd65 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SupportingTokensBuilder.java
@@ -78,8 +78,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
 
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), supportingToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), supportingToken);
             /*
              * for the moment we will say there should be only one alternative 
              */
@@ -101,11 +101,11 @@
                 };
     }
 
-    private void processAlternative(List assertions, SupportingToken supportingToken) {
+    private void processAlternative(List<Assertion> assertions, SupportingToken supportingToken) {
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
 
-            Assertion primitive = (Assertion) iterator.next();
+            Assertion primitive = iterator.next();
             QName qname = primitive.getName();
 
             if (SP12Constants.ALGORITHM_SUITE.equals(qname)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java
index ec9bfbd..fc62786 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SymmetricBindingBuilder.java
@@ -28,9 +28,12 @@
 import org.apache.neethi.builders.AssertionBuilder;
 import org.apache.ws.secpolicy.SPConstants;
 import org.apache.ws.secpolicy.SP12Constants;
+import org.apache.ws.secpolicy.WSSPolicyException;
 import org.apache.ws.secpolicy.model.AlgorithmSuite;
+import org.apache.ws.secpolicy.model.EncryptionToken;
 import org.apache.ws.secpolicy.model.Layout;
 import org.apache.ws.secpolicy.model.ProtectionToken;
+import org.apache.ws.secpolicy.model.SignatureToken;
 import org.apache.ws.secpolicy.model.SymmetricBinding;
 
 public class SymmetricBindingBuilder implements AssertionBuilder<OMElement> {
@@ -41,8 +44,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternatives((List) iterator.next(), symmetricBinding);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternatives(iterator.next(), symmetricBinding);
             
             /*
              * since there should be only one alternative ..
@@ -56,37 +59,47 @@
         return new QName[] {SP12Constants.SYMMETRIC_BINDING};
     }
     
-    private void processAlternatives(List assertions, SymmetricBinding symmetricBinding) {
+    private void processAlternatives(List<Assertion> assertions, SymmetricBinding symmetricBinding) {
         Assertion assertion;
         QName name;
-        
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
-            name = assertion.getName();
-            
-            if (SP12Constants.ALGORITHM_SUITE.equals(name)) {
-                symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion);
-                
-            } else if (SP12Constants.LAYOUT.equals(name)) {
-                symmetricBinding.setLayout((Layout) assertion);
-                
-            } else if (SP12Constants.INCLUDE_TIMESTAMP.equals(name)) {
-                symmetricBinding.setIncludeTimestamp(true);
-                
-            } else if (SP12Constants.PROTECTION_TOKEN.equals(name)) {
-                symmetricBinding.setProtectionToken((ProtectionToken) assertion);
-                
-            } else if (SP12Constants.ENCRYPT_BEFORE_SIGNING.equals(name)) {
-                symmetricBinding.setProtectionOrder(SPConstants.ENCRYPT_BEFORE_SIGNING);
-                
-            } else if (SP12Constants.SIGN_BEFORE_ENCRYPTING.equals(name)) {
-                symmetricBinding.setProtectionOrder(SPConstants.SIGN_BEFORE_ENCRYPTING);
-                
-            } else if (SP12Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name)) {
-                symmetricBinding.setEntireHeadersAndBodySignatures(true);
-            } else if (SP12Constants.ENCRYPT_SIGNATURE.equals(name)) {
-                symmetricBinding.setSignatureProtection(true);
-            }
-        }        
+        try {
+	        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+	            assertion = iterator.next();
+	            name = assertion.getName();
+	            
+	            if (SP12Constants.ALGORITHM_SUITE.equals(name)) {
+	                symmetricBinding.setAlgorithmSuite((AlgorithmSuite) assertion);
+	                
+	            } else if (SP12Constants.LAYOUT.equals(name)) {
+	                symmetricBinding.setLayout((Layout) assertion);
+	                
+	            } else if (SP12Constants.INCLUDE_TIMESTAMP.equals(name)) {
+	                symmetricBinding.setIncludeTimestamp(true);
+	                
+	            } else if (SP12Constants.PROTECTION_TOKEN.equals(name)) {
+	                symmetricBinding.setProtectionToken((ProtectionToken) assertion);
+	                
+	            } else if (SP12Constants.ENCRYPT_BEFORE_SIGNING.equals(name)) {
+	                symmetricBinding.setProtectionOrder(SPConstants.ENCRYPT_BEFORE_SIGNING);
+	                
+	            } else if (SP12Constants.SIGN_BEFORE_ENCRYPTING.equals(name)) {
+	                symmetricBinding.setProtectionOrder(SPConstants.SIGN_BEFORE_ENCRYPTING);
+	                
+	            } else if (SP12Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY.equals(name)) {
+	                symmetricBinding.setEntireHeadersAndBodySignatures(true);
+	                
+	            } else if (SP12Constants.ENCRYPT_SIGNATURE.equals(name)) {
+	                symmetricBinding.setSignatureProtection(true);
+	                
+	            } else if (SP12Constants.ENCRYPTION_TOKEN.equals(name)) {
+	                symmetricBinding.setEncryptionToken((EncryptionToken) assertion);
+	                
+	            } else if (SP12Constants.SIGNATURE_TOKEN.equals(name)) {
+	                symmetricBinding.setSignatureToken((SignatureToken) assertion);
+	            } 
+	        }
+        } catch (WSSPolicyException e) {
+        	throw new IllegalArgumentException(e);
+        }
     }
 }
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java
index 8b8a542..e9bb2ab 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportBindingBuilder.java
@@ -42,8 +42,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), transportBinding, factory);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), transportBinding, factory);
             
             /*
              * since there should be only one alternative
@@ -58,11 +58,11 @@
         return new QName[] {SP12Constants.TRANSPORT_BINDING};
     }
 
-    private void processAlternative(List assertionList, TransportBinding parent, AssertionBuilderFactory factory) {
+    private void processAlternative(List<Assertion> assertionList, TransportBinding parent, AssertionBuilderFactory factory) {
         
-        for (Iterator iterator = assertionList.iterator(); iterator.hasNext(); ) {
+        for (Iterator<Assertion> iterator = assertionList.iterator(); iterator.hasNext(); ) {
             
-            Assertion primitive = (Assertion) iterator.next();
+            Assertion primitive = iterator.next();
             QName name = primitive.getName();
             
             if (name.equals(SP12Constants.ALGORITHM_SUITE)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java
index f232061..4363f76 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/TransportTokenBuilder.java
@@ -37,8 +37,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
 
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), transportToken);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), transportToken);
             break; // since there should be only one alternative
         }
 
@@ -49,8 +49,8 @@
         return new QName[] {SP12Constants.TRANSPORT_TOKEN};
     }
 
-    private void processAlternative(List assertions, TransportToken parent) {
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+    private void processAlternative(List<Assertion> assertions, TransportToken parent) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
             Assertion primtive = (Assertion) iterator.next();
             QName qname = primtive.getName();
                 if(SP12Constants.HTTPS_TOKEN.equals(qname)){
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java
index f3d901b..4924ddf 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/UsernameTokenBuilder.java
@@ -58,8 +58,8 @@
             Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
             policy = (Policy) policy.normalize(false);
             
-            for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-                processAlternative((List) iterator.next(), usernameToken);
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+                processAlternative(iterator.next(), usernameToken);
                 
                 /*
                  * since there should be only one alternative
@@ -75,9 +75,9 @@
         return new QName[] {SP12Constants.USERNAME_TOKEN};
     }
 
-    private void processAlternative(List assertions, UsernameToken parent) {
+    private void processAlternative(List<Assertion> assertions, UsernameToken parent) {
              
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
             Assertion assertion = (Assertion) iterator.next();
             QName qname = assertion.getName();
             
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java
index f993b51..b744eda 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS10Builder.java
@@ -40,8 +40,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
         
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), wss10);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), wss10);
             /*
              * since there should be only one alternative
              */
@@ -55,13 +55,13 @@
         return new QName[] {SP12Constants.WSS10};
     }
     
-    private void processAlternative(List assertions, Wss10 parent) {
+    private void processAlternative(List<Assertion> assertions, Wss10 parent) {
         
         Assertion assertion;
         QName name;
         
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext(); ) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext(); ) {
+            assertion = iterator.next();
             name = assertion.getName();
             
             if (SP12Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java
index 079080c..2accec0 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/WSS11Builder.java
@@ -39,8 +39,8 @@
         Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
         policy = (Policy) policy.normalize(false);
 
-        for (Iterator iterator = policy.getAlternatives(); iterator.hasNext();) {
-            processAlternative((List) iterator.next(), wss11);
+        for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext();) {
+            processAlternative(iterator.next(), wss11);
             /*
              * since there should be only one alternative
              */
@@ -54,13 +54,13 @@
         return new QName[] {SP12Constants.WSS11};
     }
 
-    private void processAlternative(List assertions, Wss11 parent) {
+    private void processAlternative(List<Assertion> assertions, Wss11 parent) {
         
         Assertion assertion;
         QName name;
 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
 
             if (SP12Constants.MUST_SUPPORT_REF_KEY_IDENTIFIER.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java
index fba587c..9a418c3 100755
--- a/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java
+++ b/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/X509TokenBuilder.java
@@ -79,9 +79,9 @@
             Policy policy = PolicyEngine.getPolicy(element.getFirstElement());
             policy = (Policy) policy.normalize(false);
 
-            for (Iterator iterator = policy.getAlternatives(); iterator
+            for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator
                     .hasNext();) {
-                processAlternative((List) iterator.next(), x509Token);
+                processAlternative(iterator.next(), x509Token);
                 
                 /*
                  * since there should be only one alternative
@@ -107,12 +107,12 @@
         return x509Token;
     }
 
-    private void processAlternative(List assertions, X509Token parent) {
+    private void processAlternative(List<Assertion> assertions, X509Token parent) {
                 Assertion assertion;
         QName name;
 
-        for (Iterator iterator = assertions.iterator(); iterator.hasNext();) {
-            assertion = (Assertion) iterator.next();
+        for (Iterator<Assertion> iterator = assertions.iterator(); iterator.hasNext();) {
+            assertion = iterator.next();
             name = assertion.getName();
 
             if (SP12Constants.REQUIRE_KEY_IDENTIFIRE_REFERENCE.equals(name)) {
diff --git a/modules/rampart-policy/src/main/java/META-INF/services/org.apache.neethi.builders.AssertionBuilder b/modules/rampart-policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
similarity index 88%
rename from modules/rampart-policy/src/main/java/META-INF/services/org.apache.neethi.builders.AssertionBuilder
rename to modules/rampart-policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
index a384ca6..4201a92 100644
--- a/modules/rampart-policy/src/main/java/META-INF/services/org.apache.neethi.builders.AssertionBuilder
+++ b/modules/rampart-policy/src/main/resources/META-INF/services/org.apache.neethi.builders.AssertionBuilder
@@ -21,6 +21,9 @@
 org.apache.ws.secpolicy11.builders.SymmetricBindingBuilder
 org.apache.ws.secpolicy11.builders.IssuedTokenBuilder
 org.apache.ws.secpolicy11.builders.RequiredElementsBuilder
+org.apache.ws.secpolicy11.builders.SignatureTokenBuilder
+org.apache.ws.secpolicy11.builders.EncryptionTokenBuilder
+org.apache.ws.secpolicy11.builders.KerberosTokenBuilder
 org.apache.ws.secpolicy12.builders.AlgorithmSuiteBuilder
 org.apache.ws.secpolicy12.builders.AsymmetricBindingBuilder
 org.apache.ws.secpolicy12.builders.EncryptedElementsBuilder
@@ -45,4 +48,7 @@
 org.apache.ws.secpolicy12.builders.IssuedTokenBuilder
 org.apache.ws.secpolicy12.builders.RequiredElementsBuilder
 org.apache.ws.secpolicy12.builders.ContentEncryptedElementsBuilder
-org.apache.ws.secpolicy12.builders.HttpsTokenBuilder
\ No newline at end of file
+org.apache.ws.secpolicy12.builders.HttpsTokenBuilder
+org.apache.ws.secpolicy12.builders.SignatureTokenBuilder
+org.apache.ws.secpolicy12.builders.EncryptionTokenBuilder
+org.apache.ws.secpolicy12.builders.KerberosTokenBuilder
\ No newline at end of file
diff --git a/modules/rampart-policy/src/test/java/org/apache/ws/secpolicy/KerberosPolicyTest.java b/modules/rampart-policy/src/test/java/org/apache/ws/secpolicy/KerberosPolicyTest.java
new file mode 100644
index 0000000..26c2c92
--- /dev/null
+++ b/modules/rampart-policy/src/test/java/org/apache/ws/secpolicy/KerberosPolicyTest.java
@@ -0,0 +1,212 @@
+/*
+ * 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.ws.secpolicy;
+
+import static com.google.common.truth.Truth.assertAbout;
+import static org.apache.axiom.truth.xml.XMLTruth.xml;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import junit.framework.TestCase;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.neethi.All;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.ExactlyOne;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyComponent;
+import org.apache.neethi.PolicyEngine;
+import org.apache.ws.secpolicy.model.KerberosToken;
+import org.apache.ws.secpolicy.model.SupportingToken;
+import org.apache.ws.secpolicy.model.Token;
+
+/**
+ * Tests building and serialization of {@link KerberosToken} assertion.
+ */
+public class KerberosPolicyTest extends TestCase {
+    public void testKerberosGssKeyRefPolicy11() throws Exception {
+        System.out.println(getName());
+        File policyFile = new File("src/test/resources/policy/kerberos-gss-keyref-11.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP11Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP11Constants.KERBEROS_TOKEN, true, true, false);
+        assertPolicyEquals(policyFile, policy);
+    }
+
+    public void testKerberosGssPolicy11() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-gss-11.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP11Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP11Constants.KERBEROS_TOKEN, false, true, false);
+        assertPolicyEquals(policyFile, policy);
+    }
+    
+    public void testKerberosKeyRefPolicy11() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-keyref-11.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP11Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP11Constants.KERBEROS_TOKEN, true, false, true);
+        assertPolicyEquals(policyFile, policy);
+    }
+    
+    public void testKerberosPolicy11() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-11.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP11Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP11Constants.KERBEROS_TOKEN, false, false, true);
+        assertPolicyEquals(policyFile, policy);
+    }
+    
+    public void testKerberosGssKeyRefPolicy12() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-gss-keyref-12.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP12Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP12Constants.KERBEROS_TOKEN, true, true, false);
+        assertPolicyEquals(policyFile, policy);
+    }
+
+    public void testKerberosGssPolicy12() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-gss-12.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP12Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP12Constants.KERBEROS_TOKEN, false, true, false);
+        assertPolicyEquals(policyFile, policy);
+    }
+    
+    public void testKerberosKeyRefPolicy12() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-keyref-12.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP12Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP12Constants.KERBEROS_TOKEN, true, false, true);
+        assertPolicyEquals(policyFile, policy);
+    }
+    
+    public void testKerberosPolicy12() throws Exception {
+        File policyFile = new File("src/test/resources/policy/kerberos-12.xml");
+        Policy policy = loadPolicy(policyFile);
+        KerberosToken kerberosToken = getKerberosEndorsingSupportingToken(policyFile, policy, SP12Constants.SP_NS);
+        assertKerberosTokenMatches(kerberosToken, SP12Constants.KERBEROS_TOKEN, false, false, true);
+        assertPolicyEquals(policyFile, policy);
+    }
+    
+    private KerberosToken getKerberosEndorsingSupportingToken(File policyFile, Policy policy, String namespace) throws XMLStreamException {
+        ExactlyOne exactlyOne = (ExactlyOne) policy.getAssertions().get(0);
+        All all = (All) exactlyOne.getFirstPolicyComponent();
+        List<PolicyComponent> assertions = all.getAssertions();
+        
+        QName endSuppTokens = new QName(namespace, SPConstants.ENDORSING_SUPPORTING_TOKENS);
+        SupportingToken endorsingSupportingTokens = (SupportingToken) findAssertion(assertions, endSuppTokens);
+        assertNotNull(String.format("Cannot find any '%s' assertion in policy: %s", endSuppTokens, printPolicy(policy)), endorsingSupportingTokens);
+        
+        ArrayList<Token> supportingTokens = endorsingSupportingTokens.getTokens();
+        assertTrue(String.format("Cannot find any supporting tokens in policy: %s", printPolicy(policy)), supportingTokens.size() > 0);
+
+        KerberosToken kerberosToken = findKerberosToken(supportingTokens);
+        assertNotNull(String.format("Cannot find any Kerberos token in policy: %s", printPolicy(policy)), kerberosToken);
+        
+        return kerberosToken;
+    }
+    
+    private void assertKerberosTokenMatches(KerberosToken kerberosToken, QName expectedName, boolean requiresKeyIdentifierRef,
+        boolean requiresGssKerberosV5, boolean requiresKerberosV5) {
+        assertTrue(String.format("Expected KerberosToken '%s' but got: %s", expectedName, kerberosToken.getName()),
+            expectedName.equals(kerberosToken.getName()));
+        assertEquals("Expected Kerberos token that must be included once.", SPConstants.INCLUDE_TOKEN_ONCE, kerberosToken.getInclusion());
+        assertEquals("Expected KerberosToken that " + (requiresKeyIdentifierRef ? "requires" : "does NOT require") + " key identifier reference",
+            requiresKeyIdentifierRef, kerberosToken.isRequiresKeyIdentifierReference());
+        assertEquals("Expected KerberosToken that " + (requiresGssKerberosV5 ? "requires" : "does NOT require") + " GSS-API KerberosV5 mechanism token", 
+            requiresGssKerberosV5, kerberosToken.isRequiresGssKerberosV5Token());
+        assertEquals("Expected KerberosToken that " + (requiresGssKerberosV5 ? "requires" : "does NOT require") + " KerberosV5 mechanism token", 
+            requiresKerberosV5, kerberosToken.isRequiresKerberosV5Token());
+    }
+    
+    private void assertPolicyEquals(File expected, Policy actual) throws Exception {
+        StringWriter writer = new StringWriter();
+        serializePolicy(actual, writer);
+        assertAbout(xml())
+                .that(writer.toString())
+                .ignoringWhitespace()
+                .ignoringNamespaceDeclarations()
+                .hasSameContentAs(expected);
+    }
+    
+    private Policy loadPolicy(File file) throws IOException {
+        FileReader reader = null;
+        try {
+            reader = new FileReader(file);
+            OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(reader);
+            OMElement policyElement = builder.getDocumentElement();
+            return PolicyEngine.getPolicy(policyElement);
+        }
+        finally {
+            if (reader != null) {
+                reader.close();
+            }
+        }
+    }
+
+    private String serializePolicy(Policy policy, Writer writer) throws XMLStreamException {
+        StringWriter stringWriter = new StringWriter();
+        XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
+        policy.serialize(xmlWriter);
+        xmlWriter.flush();
+        
+        return stringWriter.toString();
+    }
+    
+    private String printPolicy(Policy policy) throws XMLStreamException {
+        StringWriter writer = new StringWriter();
+        serializePolicy(policy, writer);
+        
+        return writer.toString();
+    }
+    
+    private Assertion findAssertion(List<PolicyComponent> policyComponents, QName name) {
+        for (PolicyComponent policyComponent : policyComponents) {
+            if (policyComponent instanceof Assertion && ((Assertion)policyComponent).getName().equals(name)) {
+                return (Assertion)policyComponent;
+            }
+        }
+        
+        return null;
+    }
+    
+    private KerberosToken findKerberosToken(ArrayList<Token> tokens) {
+        for (Token token : tokens) {
+            if (token instanceof KerberosToken) {
+                return (KerberosToken)token;
+            }
+        }
+        
+        return null;
+    }
+}
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-11.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-11.xml
new file mode 100644
index 0000000..2ccdde0
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-11.xml
@@ -0,0 +1,16 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
+    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssKerberosV5ApReqToken11 />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-12.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-12.xml
new file mode 100644
index 0000000..a272956
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-12.xml
@@ -0,0 +1,16 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
+    xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssKerberosV5ApReqToken11 />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-gss-11.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-11.xml
new file mode 100644
index 0000000..c947931
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-11.xml
@@ -0,0 +1,16 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
+    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssGssKerberosV5ApReqToken11 />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-gss-12.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-12.xml
new file mode 100644
index 0000000..9998a48
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-12.xml
@@ -0,0 +1,16 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
+    xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssGssKerberosV5ApReqToken11 />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-gss-keyref-11.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-keyref-11.xml
new file mode 100644
index 0000000..9b70e3f
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-keyref-11.xml
@@ -0,0 +1,18 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken
+                        sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssGssKerberosV5ApReqToken11 />
+                            <sp:RequireKeyIdentifierReference />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-gss-keyref-12.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-keyref-12.xml
new file mode 100644
index 0000000..a8474ae
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-gss-keyref-12.xml
@@ -0,0 +1,17 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+    xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssGssKerberosV5ApReqToken11 />
+                            <sp:RequireKeyIdentifierReference />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-keyref-11.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-keyref-11.xml
new file mode 100644
index 0000000..6d0322a
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-keyref-11.xml
@@ -0,0 +1,17 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
+   xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssKerberosV5ApReqToken11 />
+                            <sp:RequireKeyIdentifierReference />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-policy/src/test/resources/policy/kerberos-keyref-12.xml b/modules/rampart-policy/src/test/resources/policy/kerberos-keyref-12.xml
new file mode 100644
index 0000000..6bf4ba6
--- /dev/null
+++ b/modules/rampart-policy/src/test/resources/policy/kerberos-keyref-12.xml
@@ -0,0 +1,17 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
+   xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:EndorsingSupportingTokens>
+                <wsp:Policy>
+                    <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                        <wsp:Policy>
+                            <sp:WssKerberosV5ApReqToken11 />
+                            <sp:RequireKeyIdentifierReference />
+                        </wsp:Policy>
+                    </sp:KerberosToken>
+                </wsp:Policy>
+            </sp:EndorsingSupportingTokens>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
\ No newline at end of file
diff --git a/modules/rampart-samples/README.txt b/modules/rampart-samples/README.txt
index 136798c..6a3d376 100644
--- a/modules/rampart-samples/README.txt
+++ b/modules/rampart-samples/README.txt
@@ -11,8 +11,8 @@
     
     - keys   - The keystore files that contains the keys used by the samples
 
-Please use Apache Ant with the build.xml file available here to copy all jars
-and mars to required places.
+Please use Apache Ant with the build.xml file available in the top level directory
+to copy all jars and mars to required places.
 
     - Please copy log4j.jar to AXIS2_HOME/lib directory before trying out samples.
 
diff --git a/modules/rampart-samples/basic/README.txt b/modules/rampart-samples/basic/README.txt
deleted file mode 100644
index 18f66b1..0000000
--- a/modules/rampart-samples/basic/README.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-********************************************************************************
-**************************** Apache Rampart Samples ****************************
-********************************************************************************
-
-This is a set of Apache Rampart samples which uses configuraiton parameters 
-to configure rampart.
-
-Each "sampleX" directory contains :
-
-    - client.axis2.xml - Client configuration
-    - services.xml - Service configuration
-    - src - Source of the sample
-    - README.txt - you have to read this :-)
-
-We use two parameters named "InflowSecurity" and "OutflowSecurity" within
-these files to configure rampart.
-
-01.) Rampart Engaged and no configuration
-02.) UsernameToken authentication
-03.) UsernameToken authentication with a plain text password
-04.) Message integrity and non-repudiation with signature
-05.) Encryption
-06.) Sign and encrypt a messages
-07.) Encrypt and sign messages
-08.) Signing twice
-09.) Encryption with a key known to both parties
-10.) MTOM Optimizing base64 content in the secured message
-11.) Dynamic configuration : Get rid of the config files ... let's use code!
-
-You can use the ant build script provided here to run these samples.
-
-Exmaple: Running sample - 01
-    - Start two shell instnaces and change to the directory where this file is
-    - To start the service: 
-      $ ant service.01
-    - To run client: 
-      $ ant client.01
-
---------------------------------------------------------------------------------
-NOTE: To view the messages exchanged
-    - Change the "client.port" property in the "build.xml" to an available port
-    	  E.g. : <property name="client.port" value="9080"/>
-    	- Setup tcpmon (http://ws.apache.org/commons/tcpmon/) to listen on the above
-    	  port and to point to port 8080 (value of the service.port property)
\ No newline at end of file
diff --git a/modules/rampart-samples/basic/build.xml b/modules/rampart-samples/basic/build.xml
deleted file mode 100644
index 294e020..0000000
--- a/modules/rampart-samples/basic/build.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- !
- ! Copyright 2006 The Apache Software Foundation.
- !
- ! Licensed 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 basedir="." default="clean">
-
-	<property name="service.repos.dir" value="build/service_repositories"/>
-	<property name="client.repos.dir" value="build/client_repositories"/>
-	<property name="temp.dir" value="build/temp"/>
-	<property name="keys.dir" value="../keys"/>
-	<property name="temp.client.dir" value="build/temp_client"/>
-	
-	<property name="client.port" value="8080"/>
-	<property name="server.port" value="8080"/>
-	
-	<property name="sample.services.url" value="http://localhost:${client.port}/axis2/services"/>
-	
-    <property environment="env"/>
-    	
-    <property name="lib.dir" value="${env.AXIS2_HOME}/lib"/>
-    
-    <path id="runtime.classpath">
-        <fileset dir="${lib.dir}">
-            <include name="**/*.jar"/>
-        </fileset>
-        <pathelement location="${env.AXIS2_HOME}/conf"/>
-    </path>
-    
-	<target name="check.dependency" unless="env.AXIS2_HOME">
-        <echo message="AXIS2_HOME must be set"/>
-    </target>
-	
-	<!-- Sample Service 01 -->
-	<target name="service.01" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="01"/>
-	</target>
-
-	<!-- Sample Client 01 -->
-	<target name="client.01" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="01"/>
-	</target>
-	
-	<!-- Sample Service 02 -->
-	<target name="service.02" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="02"/>
-	</target>
-
-	<!-- Sample Client 02 -->
-	<target name="client.02" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="02"/>
-	</target>
-
-	<!-- Sample Service 03 -->
-	<target name="service.03" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="03"/>
-	</target>
-
-	<!-- Sample Client 03 -->
-	<target name="client.03" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="03"/>
-	</target>
-
-	<!-- Sample Service 04 -->
-	<target name="service.04" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="04"/>
-	</target>
-
-	<!-- Sample Client 04 -->
-	<target name="client.04" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="04"/>
-	</target>
-
-	<!-- Sample Service 05 -->
-	<target name="service.05" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="05"/>
-	</target>
-
-	<!-- Sample Client 05 -->
-	<target name="client.05" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="05"/>
-	</target>
-	
-	<!-- Sample Service 06 -->
-	<target name="service.06" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="06"/>
-	</target>
-
-	<!-- Sample Client 06 -->
-	<target name="client.06" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="06"/>
-	</target>
-	
-	<!-- Sample Service 07 -->
-	<target name="service.07" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="07"/>
-	</target>
-
-	<!-- Sample Client 07 -->
-	<target name="client.07" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="07"/>
-	</target>
-
-	<!-- Sample Service 08 -->
-	<target name="service.08" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="08"/>
-	</target>
-
-	<!-- Sample Client 08 -->
-	<target name="client.08" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="08"/>
-	</target>
-
-	<!-- Sample Service 09 -->
-	<target name="service.09" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="09"/>
-	</target>
-
-	<!-- Sample Client 09 -->
-	<target name="client.09" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="09"/>
-	</target>
-
-	<!-- Sample Service 10 -->
-	<target name="service.10" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="10"/>
-	</target>
-
-	<!-- Sample Client 10 -->
-	<target name="client.10" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="10"/>
-	</target>
-	
-	<!-- Sample Service 11 -->
-	<target name="service.11" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.service.repo sample.number="11"/>
-	</target>
-
-	<!-- Sample Client 11 -->
-	<target name="client.11" if="env.AXIS2_HOME" depends="check.dependency">
-		<create.and.run.client sample.number="11"/>
-	</target>
-	
-	
-	<target name="clean">
-		<delete dir="build" />
-	</target>
-	
-	<!-- Macro to create a service repo for a given sample -->
-	<macrodef name="create.service.repo">
-	   	<attribute name="sample.number" default="sample"/>
-	   	<sequential>
-	   		
-	   		<property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
-	   		
-	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}"/>
-	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}/services"/>
-	   		<mkdir dir="${service.repos.dir}/sample@{sample.number}/modules"/>
-	   		
-	   		<!-- copy modules -->
-	   		<copy todir="${service.repos.dir}/sample@{sample.number}/modules">
-	   		    <fileset dir="${modules.dir}">
-	   		        <include name="addressing-*.mar"/>
-	   		        <include name="rampart-*.mar"/>
-	   		    </fileset>
-	   		</copy>
-	   		
-	   		<!-- create service -->
-	   		<mkdir dir="${temp.dir}"/>
-	   		<mkdir dir="${temp.dir}/META-INF"/>
-	   		
-	   		<!-- Compile service -->
-            <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
-                    <classpath>
-                            <fileset dir="${lib.dir}">
-                                    <include name="**/*.jar"/>
-                            </fileset>
-                    </classpath>
-                    <exclude name="**/Client.java"/>
-            </javac>
-	   		
-	   		<copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true"/>
-	   		<copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
-	   		<copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>
-
-	   		<jar destfile="${service.repos.dir}/sample@{sample.number}/services/sample@{sample.number}.aar">
-				<fileset dir="${temp.dir}"></fileset>
-			</jar>
-	   		
-			<delete dir="${temp.dir}" />
-	   		<!-- start SimpleHTTPserver -->
-            <java classname="org.apache.axis2.transport.http.SimpleHTTPServer" fork="true">
-                    <arg value="${service.repos.dir}/sample@{sample.number}"/>
-                    <arg value="-p${server.port}"/>
-                	<classpath refid="runtime.classpath"/>
-            </java>
-
-	   </sequential>
-	</macrodef>
-
-	<macrodef name="create.and.run.client">
-	   	<attribute name="sample.number" default="sample"/>
-	   	<sequential>
-	   		
-	   		<property name="modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
-	   		
-	   		<!-- Create the client repo -->
-	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}"/>
-	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}/conf"/>
-	   		<mkdir dir="${client.repos.dir}/sample@{sample.number}/modules"/>
-	   		
-	   		<!-- Copy axis2.xml file -->
-	   		<copy file="sample@{sample.number}/client.axis2.xml" tofile="${client.repos.dir}/sample@{sample.number}/conf/axis2.xml" overwrite="true"/>
-	   		
-	   		<!-- copy modules -->
-	   		<copy todir="${client.repos.dir}/sample@{sample.number}/modules">
-	   		    <fileset dir="${modules.dir}">
-	   		        <include name="addressing-*.mar"/>
-	   		        <include name="rampart-*.mar"/>
-	   		    </fileset>
-	   		</copy>
-	   		
-	   		<mkdir dir="${temp.client.dir}"/>
-	   		
-	   		<!-- Compile client -->
-            <javac srcdir="sample@{sample.number}/src" destdir="${temp.client.dir}">
-                    <classpath>
-	                    <fileset dir="${lib.dir}">
-                            <include name="**/*.jar"/>
-	                    </fileset>
-                    </classpath>
-                    <exclude name="**/SimpleService.java"/>
-            </javac>
-
-	   		<copy file="${keys.dir}/client.jks" tofile="${temp.client.dir}/client.jks" overwrite="true"/>
-	   		<copy file="${keys.dir}/client.properties" tofile="${temp.client.dir}/client.properties" overwrite="true"/>
-
-	   		
-	   		<!-- Run client -->
-            <java classname="org.apache.rampart.samples.sample@{sample.number}.Client" fork="true">
-                    <arg value="${sample.services.url}/sample@{sample.number}"/>
-                    <arg value="${client.repos.dir}/sample@{sample.number}"/>
-                    <classpath>
-                        <path refid="runtime.classpath"/>
-                  		<dirset dir="${temp.client.dir}" />
-                    </classpath>
-            </java>
-
-<!--	   		<delete dir="${temp.client.dir}"/> -->
-		</sequential>		
-	</macrodef>
-
-</project>
diff --git a/modules/rampart-samples/basic/sample01/README.txt b/modules/rampart-samples/basic/sample01/README.txt
deleted file mode 100644
index a4c35f9..0000000
--- a/modules/rampart-samples/basic/sample01/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Rampart Engaged and no configuration
-
-This sample shows that Apache Rampart does not work on the messages when simply
-engagd without any configuration
-
-Note: <module ref="rampart"/> in both client.axis2.xml and services.xml
\ No newline at end of file
diff --git a/modules/rampart-samples/basic/sample01/client.axis2.xml b/modules/rampart-samples/basic/sample01/client.axis2.xml
deleted file mode 100644
index 5a1988b..0000000
--- a/modules/rampart-samples/basic/sample01/client.axis2.xml
+++ /dev/null
@@ -1,465 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-    <module ref="rampart"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample01/services.xml b/modules/rampart-samples/basic/sample01/services.xml
deleted file mode 100644
index f76daf9..0000000
--- a/modules/rampart-samples/basic/sample01/services.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-1 : No Security-->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample01.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-</service>

diff --git a/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/Client.java b/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/Client.java
deleted file mode 100644
index b47c6be..0000000
--- a/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample01;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample01.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/SimpleService.java b/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/SimpleService.java
deleted file mode 100644
index 3247722..0000000
--- a/modules/rampart-samples/basic/sample01/src/org/apache/rampart/samples/sample01/SimpleService.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.rampart.samples.sample01;
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample02/README.txt b/modules/rampart-samples/basic/sample02/README.txt
deleted file mode 100644
index de24747..0000000
--- a/modules/rampart-samples/basic/sample02/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-UsernameToken authentication
-
-The client is configured to add a UsernameToken to the outgoing message.
-	- See the "OutflowSecurity" parameter in the client.axis2.xml
-	
-The service is configured to process it.
-	- See the "InflowSecurity" parameter in the services.xml
-
-Note how org.apache.rampart.samples.sample02.PWCBHandler supplies the password 
-to wss4j to compute the digest for comparison.
diff --git a/modules/rampart-samples/basic/sample02/client.axis2.xml b/modules/rampart-samples/basic/sample02/client.axis2.xml
deleted file mode 100644
index f292c27..0000000
--- a/modules/rampart-samples/basic/sample02/client.axis2.xml
+++ /dev/null
@@ -1,474 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <module ref="rampart" />
-    
-    <parameter name="OutflowSecurity">
-        <action>
-            <items>UsernameToken Timestamp</items>
-            <user>bob</user>
-            <passwordCallbackClass>org.apache.rampart.samples.sample02.PWCBHandler</passwordCallbackClass>
-        </action>
-    </parameter>
-    
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample02/services.xml b/modules/rampart-samples/basic/sample02/services.xml
deleted file mode 100644
index ac94b4b..0000000
--- a/modules/rampart-samples/basic/sample02/services.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-2 : Timestamp and UsernameToken-->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample02.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-	<parameter name="InflowSecurity">

-      <action>

-        <items>UsernameToken Timestamp</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample02.PWCBHandler</passwordCallbackClass>

-      </action>

-    </parameter>

-</service>

diff --git a/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/Client.java b/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/Client.java
deleted file mode 100644
index 542ed61..0000000
--- a/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample02;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample02.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/PWCBHandler.java b/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/PWCBHandler.java
deleted file mode 100644
index 84c3c5d..0000000
--- a/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/PWCBHandler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample02;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            String id = pwcb.getIdentifier();
-            if("bob".equals(id)) {
-                pwcb.setPassword("bobPW");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/SimpleService.java b/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/SimpleService.java
deleted file mode 100644
index 3249257..0000000
--- a/modules/rampart-samples/basic/sample02/src/org/apache/rampart/samples/sample02/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.rampart.samples.sample02;
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample03/README.txt b/modules/rampart-samples/basic/sample03/README.txt
deleted file mode 100644
index 1446348..0000000
--- a/modules/rampart-samples/basic/sample03/README.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-UsernameToken authentication with a plain text password
-
-The client is configured to add a UsernameToken to the outgoing message.
-	- See the "OutflowSecurity" parameter in the client.axis2.xml
-	- Note the <passwordType>PasswordText</passwordType> element
-	
-The service is configured to process it.
-	- See the "InflowSecurity" parameter in the services.xml
-
-Note how org.apache.rampart.samples.sample03.PWCBHandler authenticates the 
-password
-
diff --git a/modules/rampart-samples/basic/sample03/client.axis2.xml b/modules/rampart-samples/basic/sample03/client.axis2.xml
deleted file mode 100644
index 0913fc2..0000000
--- a/modules/rampart-samples/basic/sample03/client.axis2.xml
+++ /dev/null
@@ -1,475 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <module ref="rampart" />
-    
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>UsernameToken</items>
-        <user>bob</user>
-        <passwordCallbackClass>org.apache.rampart.samples.sample03.PWCBHandler</passwordCallbackClass>
-        <passwordType>PasswordText</passwordType>
-      </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample03/services.xml b/modules/rampart-samples/basic/sample03/services.xml
deleted file mode 100644
index 1d0e6c5..0000000
--- a/modules/rampart-samples/basic/sample03/services.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-3 : Timestamp and UsernameToken (with plaintext password)-->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample03.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-	<parameter name="InflowSecurity">

-      <action>

-        <items>UsernameToken</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample03.PWCBHandler</passwordCallbackClass>

-      </action>

-    </parameter>

-</service>

diff --git a/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/Client.java b/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/Client.java
deleted file mode 100644
index 9aa0c34..0000000
--- a/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample03;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample03.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/PWCBHandler.java b/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/PWCBHandler.java
deleted file mode 100644
index c3459d6..0000000
--- a/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/PWCBHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample03;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-
-        for (int i = 0; i < callbacks.length; i++) {
-            
-            //When the server side need to authenticate the user
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            if (pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) {
-                if(pwcb.getIdentifier().equals("bob") && pwcb.getPassword().equals("bobPW")) {
-                    //If authentication successful, simply return
-                    return;
-                } else {
-                    throw new UnsupportedCallbackException(callbacks[i], "check failed");
-                }
-            }
-            
-            //When the client requests for the password to be added in to the 
-            //UT element
-            pwcb.setPassword("bobPW");
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/SimpleService.java b/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/SimpleService.java
deleted file mode 100644
index 630cf80..0000000
--- a/modules/rampart-samples/basic/sample03/src/org/apache/rampart/samples/sample03/SimpleService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.rampart.samples.sample03;
-
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.WSSecurityEngineResult;
-import org.apache.ws.security.WSUsernameTokenPrincipal;
-import org.apache.ws.security.handler.WSHandlerConstants;
-import org.apache.ws.security.handler.WSHandlerResult;
-
-import java.util.Vector;
-
-public class SimpleService {
-
-    public String echo(String arg) {
-    	return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample04/README.txt b/modules/rampart-samples/basic/sample04/README.txt
deleted file mode 100644
index df4599d..0000000
--- a/modules/rampart-samples/basic/sample04/README.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Message integrity and non-repudiation with signature
-
-Both client and servce are configured to sign the outgoing message and to verify
-the signature of the incoming message using their key pairs.
-	- See the "OutflowSecurity" and "InflowSecurity" parameters in the 
-      client.axis2.xml and serivces.xml files
-	
diff --git a/modules/rampart-samples/basic/sample04/client.axis2.xml b/modules/rampart-samples/basic/sample04/client.axis2.xml
deleted file mode 100644
index 6bef65d..0000000
--- a/modules/rampart-samples/basic/sample04/client.axis2.xml
+++ /dev/null
@@ -1,483 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <module ref="rampart" />
-    
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Timestamp Signature</items>
-        <user>client</user>
-        <signaturePropFile>client.properties</signaturePropFile>
-        <passwordCallbackClass>org.apache.rampart.samples.sample04.PWCBHandler</passwordCallbackClass>
-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-      </action>
-    </parameter>
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Timestamp Signature</items>
-        <signaturePropFile>client.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample04/services.xml b/modules/rampart-samples/basic/sample04/services.xml
deleted file mode 100644
index daff4d3..0000000
--- a/modules/rampart-samples/basic/sample04/services.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-4 : Signature only -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample04.SimpleService</parameter>

-

-	<module ref="rampart" />

-

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature</items>

-        <signaturePropFile>service.properties</signaturePropFile>

-      </action>

-    </parameter>

-	

-	<parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature</items>

-        <user>service</user>

-        <passwordCallbackClass>org.apache.rampart.samples.sample04.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/Client.java b/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/Client.java
deleted file mode 100644
index e27bf8f..0000000
--- a/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample04;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample04.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/PWCBHandler.java b/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/PWCBHandler.java
deleted file mode 100644
index 39dbe59..0000000
--- a/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample04;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/SimpleService.java b/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/SimpleService.java
deleted file mode 100644
index 9132949..0000000
--- a/modules/rampart-samples/basic/sample04/src/org/apache/rampart/samples/sample04/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample04;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample05/README.txt b/modules/rampart-samples/basic/sample05/README.txt
deleted file mode 100644
index 8ca2fd8..0000000
--- a/modules/rampart-samples/basic/sample05/README.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Encrypting messages
-
-Both client and servce are configured to encrypt the outgoing message and to 
-decrypt incoming message using their key pairs.
-	- See the "OutflowSecurity" and "InflowSecurity" parameters in the 
-      client.axis2.xml and serivces.xml files
-	
diff --git a/modules/rampart-samples/basic/sample05/client.axis2.xml b/modules/rampart-samples/basic/sample05/client.axis2.xml
deleted file mode 100644
index 1e2a613..0000000
--- a/modules/rampart-samples/basic/sample05/client.axis2.xml
+++ /dev/null
@@ -1,482 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <module ref="rampart" />
-
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Encrypt</items>
-        <encryptionUser>service</encryptionUser>
-        <encryptionPropFile>client.properties</encryptionPropFile>
-      </action>
-    </parameter>
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Encrypt</items>
-        <passwordCallbackClass>org.apache.rampart.samples.sample05.PWCBHandler</passwordCallbackClass>
-        <decryptionPropFile>client.properties</decryptionPropFile>
-      </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample05/services.xml b/modules/rampart-samples/basic/sample05/services.xml
deleted file mode 100644
index 2b329a8..0000000
--- a/modules/rampart-samples/basic/sample05/services.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-5 : Encryption only -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample05.SimpleService</parameter>

-	

-	<module ref="rampart" />

-		

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Encrypt</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample05.PWCBHandler</passwordCallbackClass>

-        <decryptionPropFile>service.properties</decryptionPropFile>

-      </action>

-    </parameter>

-    

-	<parameter name="OutflowSecurity">

-      <action>

-        <items>Encrypt</items>

-        <encryptionUser>client</encryptionUser>

-        <encryptionPropFile>service.properties</encryptionPropFile>

-      </action>

-    </parameter>

-

-

-	

-</service>

diff --git a/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/Client.java b/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/Client.java
deleted file mode 100644
index 7695f88..0000000
--- a/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample05;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample05.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/PWCBHandler.java b/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/PWCBHandler.java
deleted file mode 100644
index 8976f73..0000000
--- a/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample05;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/SimpleService.java b/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/SimpleService.java
deleted file mode 100644
index 083a322..0000000
--- a/modules/rampart-samples/basic/sample05/src/org/apache/rampart/samples/sample05/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample05;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample06/README.txt b/modules/rampart-samples/basic/sample06/README.txt
deleted file mode 100644
index 54642b5..0000000
--- a/modules/rampart-samples/basic/sample06/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Sign and encrypt messages
-
-Both client and servce are configured to first sign and then encrypt the 
-outgoing message and to decrypt and verify the incoming message using their 
-key pairs.
-	- See the "OutflowSecurity" and "InflowSecurity" parameters in the 
-      client.axis2.xml and serivces.xml files
-	
diff --git a/modules/rampart-samples/basic/sample06/client.axis2.xml b/modules/rampart-samples/basic/sample06/client.axis2.xml
deleted file mode 100644
index f3d11f4..0000000
--- a/modules/rampart-samples/basic/sample06/client.axis2.xml
+++ /dev/null
@@ -1,488 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-
-    <!--Signature and Encryption : Using the request's certificate-->
-    <module ref="rampart" />
-    
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Timestamp Signature Encrypt</items>
-        <user>client</user>
-        <passwordCallbackClass>org.apache.rampart.samples.sample06.PWCBHandler</passwordCallbackClass>
-        <signaturePropFile>client.properties</signaturePropFile>
-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
-        <encryptionUser>service</encryptionUser>
-      </action>
-    </parameter>
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Timestamp Signature Encrypt</items>
-        <passwordCallbackClass>org.apache.rampart.samples.sample06.PWCBHandler</passwordCallbackClass>
-        <signaturePropFile>client.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample06/services.xml b/modules/rampart-samples/basic/sample06/services.xml
deleted file mode 100644
index 2c9b865..0000000
--- a/modules/rampart-samples/basic/sample06/services.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-6 : Signature and Encryption : Using the request's certificate-->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample06.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample06.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-      </action>

-    </parameter>

-    

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <user>service</user>

-        <passwordCallbackClass>org.apache.rampart.samples.sample06.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-        <encryptionUser>useReqSigCert</encryptionUser>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/Client.java b/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/Client.java
deleted file mode 100644
index 441950c..0000000
--- a/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample06;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample06.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/PWCBHandler.java b/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/PWCBHandler.java
deleted file mode 100644
index 5adb7d5..0000000
--- a/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample06;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/SimpleService.java b/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/SimpleService.java
deleted file mode 100644
index 185825e..0000000
--- a/modules/rampart-samples/basic/sample06/src/org/apache/rampart/samples/sample06/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample06;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample07/README.txt b/modules/rampart-samples/basic/sample07/README.txt
deleted file mode 100644
index f524604..0000000
--- a/modules/rampart-samples/basic/sample07/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Encrypt and sign messages
-
-Both client and servce are configured to first encrypt and then sign the 
-outgoing message and to verify and decrypt the incoming message using their 
-key pairs.
-	- See the "OutflowSecurity" and "InflowSecurity" parameters in the 
-      client.axis2.xml and serivces.xml files
-	
diff --git a/modules/rampart-samples/basic/sample07/client.axis2.xml b/modules/rampart-samples/basic/sample07/client.axis2.xml
deleted file mode 100644
index 79b5dcd..0000000
--- a/modules/rampart-samples/basic/sample07/client.axis2.xml
+++ /dev/null
@@ -1,487 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    
-    <module ref="rampart" />
-    
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Timestamp Encrypt Signature</items>
-        <user>client</user>
-        <passwordCallbackClass>org.apache.rampart.samples.sample07.PWCBHandler</passwordCallbackClass>
-        <signaturePropFile>client.properties</signaturePropFile>
-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
-        <encryptionUser>service</encryptionUser>
-      </action>
-    </parameter>
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Timestamp Encrypt Signature</items>
-        <passwordCallbackClass>org.apache.rampart.samples.sample07.PWCBHandler</passwordCallbackClass>
-        <signaturePropFile>client.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample07/services.xml b/modules/rampart-samples/basic/sample07/services.xml
deleted file mode 100644
index 0b12f2b..0000000
--- a/modules/rampart-samples/basic/sample07/services.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-7 : Encryption and Signature -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample07.SimpleService</parameter>

-		

-    <module ref="rampart" />

-	

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Encrypt Signature</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample07.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-      </action>

-    </parameter>

-    

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Encrypt Signature</items>

-        <user>service</user>

-        <passwordCallbackClass>org.apache.rampart.samples.sample07.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-        <encryptionUser>useReqSigCert</encryptionUser>

-      </action>

-    </parameter>

-</service>

diff --git a/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/Client.java b/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/Client.java
deleted file mode 100644
index c05d746..0000000
--- a/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample07;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample07.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/PWCBHandler.java b/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/PWCBHandler.java
deleted file mode 100644
index c698649..0000000
--- a/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample07;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/SimpleService.java b/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/SimpleService.java
deleted file mode 100644
index cd14fc0..0000000
--- a/modules/rampart-samples/basic/sample07/src/org/apache/rampart/samples/sample07/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample07;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample08/README.txt b/modules/rampart-samples/basic/sample08/README.txt
deleted file mode 100644
index 4643e47..0000000
--- a/modules/rampart-samples/basic/sample08/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Signing twice
-
-The client is configured to sign the outgoing message twice
-	- See the "OutflowSecurity" parameter in the client.axis2.xml
-	- Note the aditional <action> element that defines the second signature.
-	
-The service is configured to process it.
-	- See the "InflowSecurity" parameter in the services.xml. Not that we 
-      simply use "Signature Signature" as action items.
-
diff --git a/modules/rampart-samples/basic/sample08/client.axis2.xml b/modules/rampart-samples/basic/sample08/client.axis2.xml
deleted file mode 100644
index 87715ed..0000000
--- a/modules/rampart-samples/basic/sample08/client.axis2.xml
+++ /dev/null
@@ -1,488 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-
-    <module ref="rampart" />
-
-    <!-- sample-8 : Double Signature -->
-    <parameter name="OutflowSecurity">
-
-        <action>
-            <items>Timestamp Signature</items>
-            <user>client</user>
-            <passwordCallbackClass>org.apache.rampart.samples.sample08.PWCBHandler</passwordCallbackClass>
-            <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-            <signatureParts>{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp</signatureParts>
-            <signaturePropFile>client.properties</signaturePropFile>
-        </action>
-
-        <action>
-            <items>Signature</items>
-            <user>client</user>
-            <passwordCallbackClass>org.apache.rampart.samples.sample08.PWCBHandler</passwordCallbackClass>
-            <signaturePropFile>client.properties</signaturePropFile>
-        </action>
-
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample08/services.xml b/modules/rampart-samples/basic/sample08/services.xml
deleted file mode 100644
index 38a8ce2..0000000
--- a/modules/rampart-samples/basic/sample08/services.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-8 : Double Signature -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample08.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-	<parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature Signature</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample08.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/Client.java b/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/Client.java
deleted file mode 100644
index c08c279..0000000
--- a/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample08;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample08.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/PWCBHandler.java b/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/PWCBHandler.java
deleted file mode 100644
index 4ec18ce..0000000
--- a/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample08;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/SimpleService.java b/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/SimpleService.java
deleted file mode 100644
index a61f706..0000000
--- a/modules/rampart-samples/basic/sample08/src/org/apache/rampart/samples/sample08/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample08;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample09/README.txt b/modules/rampart-samples/basic/sample09/README.txt
deleted file mode 100644
index 7202cc6..0000000
--- a/modules/rampart-samples/basic/sample09/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Encryption with a key known to both parties
-
-Both client and servce are configured to encrypt the outgoing message and to 
-decrypt incoming message using a known named key
-	- See the "OutflowSecurity" and "InflowSecurity" parameters in the 
-      client.axis2.xml and serivces.xml files
-    - Note the use of <EmbeddedKeyName>SessionKey</EmbeddedKeyName>
-    - Note that org.apache.rampart.samples.sample09.PWCBHandler sets the key
diff --git a/modules/rampart-samples/basic/sample09/client.axis2.xml b/modules/rampart-samples/basic/sample09/client.axis2.xml
deleted file mode 100644
index b6d6101..0000000
--- a/modules/rampart-samples/basic/sample09/client.axis2.xml
+++ /dev/null
@@ -1,487 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-
-    <module ref="rampart" />
-
-    <parameter name="OutflowSecurity">
-        <action>
-            <items>Encrypt</items>
-            <user>client</user>
-            <encryptionKeyIdentifier>EmbeddedKeyName</encryptionKeyIdentifier>
-            <embeddedKeyCallbackClass>org.apache.rampart.samples.sample09.PWCBHandler</embeddedKeyCallbackClass>
-            <encryptionPropFile>client.properties</encryptionPropFile> 
-            <embeddedKeyName>SessionKey</embeddedKeyName>
-        </action>
-    </parameter>
-
-    <parameter name="InflowSecurity">
-        <action>
-            <items>Encrypt</items>
-            <passwordCallbackClass>org.apache.rampart.samples.sample09.PWCBHandler</passwordCallbackClass>
-            <decryptionPropFile>client.properties</decryptionPropFile>
-            <isBSPCompliant>false</isBSPCompliant>
-        </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample09/services.xml b/modules/rampart-samples/basic/sample09/services.xml
deleted file mode 100644
index 9a12629..0000000
--- a/modules/rampart-samples/basic/sample09/services.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-9 : Encryption using a known key -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample09.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-    <parameter name="InflowSecurity">

-        <action>

-            <items>Encrypt</items>

-            <passwordCallbackClass>org.apache.rampart.samples.sample09.PWCBHandler</passwordCallbackClass>

-            <decryptionPropFile>service.properties</decryptionPropFile>

-            <isBSPCompliant>false</isBSPCompliant>

-        </action>

-    </parameter>

-    

-    <parameter name="OutflowSecurity">

-        <action>

-            <items>Encrypt</items>

-            <user>service</user>

-            <encryptionKeyIdentifier>EmbeddedKeyName</encryptionKeyIdentifier>

-            <encryptionPropFile>service.properties</encryptionPropFile>

-            <embeddedKeyCallbackClass>org.apache.rampart.samples.sample09.PWCBHandler</embeddedKeyCallbackClass>

-            <embeddedKeyName>SessionKey</embeddedKeyName>

-        </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/Client.java b/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/Client.java
deleted file mode 100644
index 9478f1e..0000000
--- a/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample09;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample09.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/PWCBHandler.java b/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/PWCBHandler.java
deleted file mode 100644
index b1911f7..0000000
--- a/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/PWCBHandler.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample09;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    private static final byte[] key = {
-
-    (byte) 0x31, (byte) 0xfd, (byte) 0xcb, (byte) 0xda, (byte) 0xfb,
-
-    (byte) 0xcd, (byte) 0x6b, (byte) 0xa8, (byte) 0xe6, (byte) 0x19,
-
-    (byte) 0xa7, (byte) 0xbf, (byte) 0x51, (byte) 0xf7, (byte) 0xc7,
-
-    (byte) 0x3e };
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback) callbacks[i];
-
-            if (pwcb.getUsage() == WSPasswordCallback.SECRET_KEY) {
-                pwcb.setKey(key);
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/SimpleService.java b/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/SimpleService.java
deleted file mode 100644
index 7862caf..0000000
--- a/modules/rampart-samples/basic/sample09/src/org/apache/rampart/samples/sample09/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample09;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample10/README.txt b/modules/rampart-samples/basic/sample10/README.txt
deleted file mode 100644
index 0ad0c6a..0000000
--- a/modules/rampart-samples/basic/sample10/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Sign and encrypt messages
-
-Both client and servce are configured to first sign and then encrypt the 
-outgoing message and to decrypt and verify the incoming message using their 
-key pairs.
-	- See the "OutflowSecurity" and "InflowSecurity" parameters in the 
-      client.axis2.xml and serivces.xml files
-    - Note the use of <optimizeParts>[xpath expression]</optimizeParts>
diff --git a/modules/rampart-samples/basic/sample10/client.axis2.xml b/modules/rampart-samples/basic/sample10/client.axis2.xml
deleted file mode 100644
index 66ae032..0000000
--- a/modules/rampart-samples/basic/sample10/client.axis2.xml
+++ /dev/null
@@ -1,491 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <module ref="rampart" />
-
-    <!-- sample-10 : MTOM optimize encrypted content -->
-    
-    <parameter name="OutflowSecurity">
-      <action>
-        <items>Timestamp Signature Encrypt</items>
-        <user>client</user>
-        <passwordCallbackClass>org.apache.rampart.samples.sample10.PWCBHandler</passwordCallbackClass>
-        <signaturePropFile>client.properties</signaturePropFile>
-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>
-        <encryptionUser>service</encryptionUser>
-        
-        <optimizeParts>//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue</optimizeParts>
-        
-      </action>
-    </parameter>
-
-    <parameter name="InflowSecurity">
-      <action>
-        <items>Timestamp Signature Encrypt</items>
-        <passwordCallbackClass>org.apache.rampart.samples.sample10.PWCBHandler</passwordCallbackClass>
-        <signaturePropFile>client.properties</signaturePropFile>
-      </action>
-    </parameter>
-
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">true</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample10/services.xml b/modules/rampart-samples/basic/sample10/services.xml
deleted file mode 100644
index 8cada6d..0000000
--- a/modules/rampart-samples/basic/sample10/services.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-10 : MTOM optimize encrypted content -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample10.SimpleService</parameter>

-	

-	<module ref="rampart" />

-	

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample10.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-      </action>

-    </parameter>

-    

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <user>service</user>

-        <passwordCallbackClass>org.apache.rampart.samples.sample10.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-        <encryptionUser>useReqSigCert</encryptionUser>

-      </action>

-    </parameter>

-    

-</service>

diff --git a/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/Client.java b/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/Client.java
deleted file mode 100644
index 1704002..0000000
--- a/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/Client.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample10;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        client.setOptions(options);
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample10.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/PWCBHandler.java b/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/PWCBHandler.java
deleted file mode 100644
index 9e35df8..0000000
--- a/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample10;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/SimpleService.java b/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/SimpleService.java
deleted file mode 100644
index 93743ea..0000000
--- a/modules/rampart-samples/basic/sample10/src/org/apache/rampart/samples/sample10/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample10;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/basic/sample11/README.txt b/modules/rampart-samples/basic/sample11/README.txt
deleted file mode 100644
index 2a60545..0000000
--- a/modules/rampart-samples/basic/sample11/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Dynamic configuration : Get rid of the config files ... let's use code!
-
-Both client and servce are configured to first sign and then encrypt the 
-outgoing message and to decrypt and verify the incoming message using their 
-key pairs.
-	- Note that we don't use any parameters in the client.axis2.xml
-    - See org.apache.rampart.samples.sample11.Client's getOutflowConfiguration()
-      getInflowConfiguration() methods and their usage.
diff --git a/modules/rampart-samples/basic/sample11/client.axis2.xml b/modules/rampart-samples/basic/sample11/client.axis2.xml
deleted file mode 100644
index ab60d0c..0000000
--- a/modules/rampart-samples/basic/sample11/client.axis2.xml
+++ /dev/null
@@ -1,464 +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.
-  -->
-
-<axisconfig name="AxisJava2.0">
-    <!-- ================================================= -->
-    <!-- Parameters -->
-    <!-- ================================================= -->
-    <parameter name="hotdeployment">true</parameter>
-    <parameter name="hotupdate">false</parameter>
-    <parameter name="enableMTOM">false</parameter>
-    <parameter name="enableSwA">false</parameter>
-
-    <!--Uncomment if you want to enable file caching for attachments -->
-    <!--parameter name="cacheAttachments">true</parameter>
-    <parameter name="attachmentDIR"></parameter>
-    <parameter name="sizeThreshold">4000</parameter-->
-
-    <!--Uncomment if you want to enable the reduction of the in-memory cache of WSDL definitions -->
-    <!--In some server environments, the available memory heap is limited and can fill up under load -->
-    <!--Since in-memory copies of WSDL definitions can be large, some steps can be taken-->
-    <!--to reduce the memory needed for the cached WSDL definitions. -->
-    <!--parameter name="reduceWSDLMemoryCache">true</parameter-->
-                                                       
-    <!--This will give out the timout of the configuration contexts, in milliseconds-->
-    <parameter name="ConfigContextTimeoutInterval">30000</parameter>
-
-    <!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
-    <!--that behavior.-->
-    <parameter name="sendStacktraceDetailsWithFaults">false</parameter>
-
-    <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
-    <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
-    <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
-    <!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
-    <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
-
-    <parameter name="userName">admin</parameter>
-    <parameter name="password">axis2</parameter>
-
-    <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
-    <!--ServicesDirectory only works on the following cases-->
-    <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
-    <!---When creating URL Based configurator with URL “file://”  -->
-    <!--- War based configurator with expanded case , -->
-
-    <!--All the other scenarios it will be ignored.-->
-    <!--<parameter name="ServicesDirectory">service</parameter>-->
-    <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
-    <!--<parameter name="ModulesDirectory">modules</parameter>-->
-
-
-
-    <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
-    <!--root which can configured using the following contextRoot parameter-->
-    <!--<parameter name="contextRoot">axis2</parameter>-->
-
-    <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
-    <!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
-    <!--context path to proper Axis2 servlets-->
-    <!--<parameter name="servicePath">services</parameter>-->
-    <!--<parameter name="restPath">rest</parameter>-->
-
-    <!-- Following parameter will completely disable REST handling in Axis2-->
-    <parameter name="disableREST" locked="true">false</parameter>
-    
-    <!-- Following parameter will suppress generation of SOAP 1.2 bindings in auto-generated WSDL files -->
-    <parameter name="disableSOAP12" locked="true">false</parameter>
-
-    <!-- ================================================= -->
-    <!-- Deployers -->
-    <!-- ================================================= -->
-
-    <!--Service deployer , this will alow users to deploy AAR or exploded AAR as axis2 services-->
-    <deployer extension=".aar" directory="services" class="org.apache.axis2.deployment.ServiceDeployer">
-        <serviceBuilderExtension name ="jwsbuilderExt" class="org.apache.axis2.jaxws.framework.JAXWSServiceBuilderExtension"/>
-        <serviceBuilderExtension name ="wsdlbuilderExt" class="org.apache.axis2.deployment.WSDLServiceBuilderExtension"/>
-    </deployer>
-    
-    <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
-    <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
-    <!--<deployer extension=".jsa" directory="rmiservices" class="org.apache.axis2.rmi.deploy.RMIServiceDeployer"/>-->
-    
-
-    <!-- Following parameter will set the host name for the epr-->
-    <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
-
-    <!-- If you have a front end host which exposes this webservice using a different public URL  -->
-    <!-- use this parameter to override autodetected url -->
-    <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
-
-
-    <!--    The way of adding listener to the system-->
-    <!--    <listener class="org.apache.axis2.ObserverIMPL">-->
-    <!--        <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
-    <!--    </listener>-->
-
-    <!-- ================================================= -->
-    <!-- Message Receivers -->
-    <!-- ================================================= -->
-    <!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
-    <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
-    <!--any operation -->
-    <!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
-     <messageReceivers>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
-                         class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
-        <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
-                         class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
-
-    <!-- ================================================= -->
-    <!-- Message Formatter -->
-    <!-- ================================================= -->
-    <!--Following content type to message formatter mapping can be used to implement support for different message -->
-    <!--format  serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageFormatters>
-        <messageFormatter contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
-        <messageFormatter contentType="multipart/form-data"
-                         class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
-        <messageFormatter contentType="application/xml"
-                         class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
-        <messageFormatter contentType="text/xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-        <messageFormatter contentType="application/soap+xml"
-                         class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
-    </messageFormatters>
-
-    <!-- ================================================= -->
-    <!-- Message Builders -->
-    <!-- ================================================= -->
-    <!--Following content type to builder mapping can be used to implement support for different message -->
-    <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
-    <messageBuilders>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/xml"
-                         class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
-        <messageBuilder contentType="application/x-www-form-urlencoded"
-                         class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
-        <messageBuilder contentType="multipart/form-data"
-                         class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
-    </messageBuilders>
-
-    <!-- ================================================= -->
-    <!-- Transport Ins -->
-    <!-- ================================================= -->
-    <transportReceiver name="http"
-                       class="org.apache.axis2.transport.http.SimpleHTTPServer">
-        <parameter name="port">8080</parameter>
-        <!-- Here is the complete list of supported parameters (see example settings further below):
-            port: the port to listen on (default 6060)
-            hostname:  if non-null, url prefix used in reply-to endpoint references                                 (default null)
-            originServer:  value of http Server header in outgoing messages                                         (default "Simple-Server/1.1")
-            requestTimeout:  value in millis of time that requests can wait for data                                (default 20000)
-            requestTcpNoDelay:  true to maximize performance and minimize latency                                   (default true)
-                                false to minimize bandwidth consumption by combining segments
-            requestCoreThreadPoolSize:  number of threads available for request processing (unless queue fills up)  (default 25)
-            requestMaxThreadPoolSize:  number of threads available for request processing if queue fills up         (default 150)
-                                       note that default queue never fills up:  see HttpFactory
-            threadKeepAliveTime:  time to keep threads in excess of core size alive while inactive                  (default 180)
-                                  note that no such threads can exist with default unbounded request queue
-            threadKeepAliveTimeUnit:  TimeUnit of value in threadKeepAliveTime (default SECONDS)                    (default SECONDS)
-        -->
-        <!-- <parameter name="hostname">http://www.myApp.com/ws</parameter> -->
-        <!-- <parameter name="originServer">My-Server/1.1</parameter>           -->
-        <!-- <parameter name="requestTimeout">10000</parameter>                   -->
-        <!-- <parameter name="requestTcpNoDelay">false</parameter>                   -->
-        <!-- <parameter name="requestCoreThreadPoolSize">50</parameter>                      -->
-        <!-- <parameter name="RequestMaxThreadPoolSize">100</parameter>                     -->
-        <!-- <parameter name="threadKeepAliveTime">240000</parameter>                  -->
-        <!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter>            -->
-    </transportReceiver>
-
-    <!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
-    <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
-        <parameter name="myTopicConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="myQueueConnectionFactory">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-
-        <parameter name="default">
-            <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
-            <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
-            <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
-        </parameter>
-    </transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Listener  -->
-
-    <!-- the non blocking http transport based on HttpCore + NIO extensions
-    <transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
-        <parameter name="port" locked="false">9000</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportReceiver>-->
-
-    <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions
-    <transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
-        <parameter name="port" locked="false">9002</parameter>
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="SSLVerifyClient">require</parameter>
-            supports optional|require or defaults to none -->
-    <!--</transportReceiver>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Listener  -->
-    <!-- This is a sample configuration. It assumes a mail server running in localhost.
-         Listener pops  messages that comes to the email address red@localhost. Users
-         password is red. Listener connect to the server every 3000 milliseconds.
-         Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API. 
-         http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-     -->
-    <!-- ================================================= -->
-    <!--<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
-        <parameter name="mail.pop3.host">localhost</parameter>
-        <parameter name="mail.pop3.user">red</parameter>
-        <parameter name="mail.store.protocol">pop3</parameter>
-        <parameter name="transport.mail.pop3.password">red</parameter>
-        <parameter name="transport.mail.replyToAddress">red@localhost</parameter>
-        <parameter name="transport.listener.interval">3000</parameter>
-    </transportReceiver>-->
-
-    <!--Uncomment if you want to have TCP transport support-->
-    <!--transportReceiver name="tcp"
-                       class="org.apache.axis2.transport.tcp.TCPServer">
-        <parameter name="port">6060</parameter-->>
-        <!--If you want to give your own host address for EPR generation-->
-        <!--uncomment the following paramter , and set it as you required.-->
-        <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
-    <!-- /transportReceiver -->
-
-    <!-- ================================================= -->
-    <!-- Transport Outs -->
-    <!-- ================================================= -->
-
-    <!-- transportSender name="tcp"
-                     class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
-    <transportSender name="local"
-                     class="org.apache.axis2.transport.local.LocalTransportSender"/ -->
-    <transportSender name="http"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-
-        <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
-        <!--  <parameter name="OmitSOAP12Action">true</parameter>  -->
-    </transportSender>
-
-    <transportSender name="https"
-                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
-        <parameter name="PROTOCOL">HTTP/1.1</parameter>
-        <parameter name="Transfer-Encoding">chunked</parameter>
-    </transportSender>
-    <transportSender name="java"
-                     class="org.apache.axis2.transport.java.JavaTransportSender"/>
-
-    <!--<transportSender name="jms"-->
-                     <!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
-
-    <!-- ================================================= -->
-    <!-- Non-blocking http/s Transport Sender  -->
-
-    <!-- the non-blocking http transport sender based on HttpCore + NIO extensions
-    <transportSender name="http"  class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-    </transportSender>-->
-
-    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions
-    <transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
-        <parameter name="non-blocking" locked="false">true</parameter>
-        <parameter name="keystore" locked="false">
-            <KeyStore>
-                <Location>identity.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-                <KeyPassword>password</KeyPassword>
-            </KeyStore>
-        </parameter>
-        <parameter name="truststore" locked="false">
-            <TrustStore>
-                <Location>trust.jks</Location>
-                <Type>JKS</Type>
-                <Password>password</Password>
-            </TrustStore>
-        </parameter>-->
-        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
-            supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
-    <!--</transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Mail Transport Sender  -->
-    <!--Only need to uncomment the sender. Configuration is achieved with every client.
-        At any instant mail host should be given. Sample configuration has been given.
-        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-   -->
-    <!-- ================================================= -->
-   <!--<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
-        <parameter name="mail.smtp.host">localhost</parameter>
-    </transportSender>-->
-
-    <!-- ================================================= -->
-    <!-- Global Modules  -->
-    <!-- ================================================= -->
-    <!-- Comment this to disable Addressing -->
-    <module ref="addressing"/>
-
-    <!--Configuring module , providing parameters for modules whether they refer or not-->
-    <!--<moduleConfig name="addressing">-->
-    <!--<parameter name="addressingPara">N/A</parameter>-->
-    <!--</moduleConfig>-->
-
-    <!-- ================================================= -->
-    <!-- Clustering  -->
-    <!-- ================================================= -->
-    <!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
-    <!--
-    <cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
-        <parameter name="param1">value1</parameter>
-        <parameter name="domain">apache.axis2.domain</parameter>
-        <parameter name="synchronizeAll">true</parameter>
-        <parameter name="maxRetries">10</parameter>
-        <configurationManager class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
-            <listener class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
-        </configurationManager>
-        <contextManager class="org.apache.axis2.cluster.context.TribesContextManager">
-            <listener class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
-        </contextManager>
-    </cluster>
-    -->
-
-    <!-- ================================================= -->
-    <!-- Phases  -->
-    <!-- ================================================= -->
-    <phaseOrder type="InFlow">
-        <!--  System predefined phases       -->
-        <phase name="Transport">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
-                <order phase="Transport"/>
-            </handler>
-        </phase>
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--  System predefined phases       -->
-        <!--   After Postdispatch phase module author or service author can add any phase he want      -->
-        <phase name="OperationInPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutPhase"/>
-        <!--system predefined phase-->
-        <!--these phase will run irrespective of the service-->
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-    <phaseOrder type="InFaultFlow">
-        <phase name="Addressing">
-             <handler name="AddressingBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
-                 <order phase="Addressing"/>
-            </handler>
-        </phase>
-        <phase name="Security"/>
-        <phase name="PreDispatch"/>
-        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
-            <handler name="RequestURIBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
-            <handler name="SOAPActionBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
-            <handler name="RequestURIOperationDispatcher"
-                     class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
-            <handler name="SOAPMessageBodyBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
-
-            <handler name="HTTPLocationBasedDispatcher"
-                     class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
-        </phase>
-        <phase name="RMPhase"/>
-        <!--      user can add his own phases to this area  -->
-        <phase name="OperationInFaultPhase"/>
-        <phase name="soapmonitorPhase"/>
-    </phaseOrder>
-    <phaseOrder type="OutFaultFlow">
-        <!--      user can add his own phases to this area  -->
-        <phase name="soapmonitorPhase"/>
-        <phase name="OperationOutFaultPhase"/>
-        <phase name="RMPhase"/>
-        <phase name="PolicyDetermination"/>
-        <phase name="MessageOut"/>
-        <phase name="Security"/>
-    </phaseOrder>
-</axisconfig>
-
diff --git a/modules/rampart-samples/basic/sample11/services.xml b/modules/rampart-samples/basic/sample11/services.xml
deleted file mode 100644
index 28715e1..0000000
--- a/modules/rampart-samples/basic/sample11/services.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!--

- !

- ! Copyright 2006 The Apache Software Foundation.

- !

- ! Licensed 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.

- !-->

-<!-- services.xml of sample-11 : Dynamic client configuration -->

-<service>

-	<operation name="echo">

-		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

-	</operation>    

-	<parameter name="ServiceClass" locked="false">org.apache.rampart.samples.sample11.SimpleService</parameter>

-	

-		<module ref="rampart" />

-	

-    <parameter name="InflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <passwordCallbackClass>org.apache.rampart.samples.sample11.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-      </action>

-    </parameter>

-    

-    <parameter name="OutflowSecurity">

-      <action>

-        <items>Timestamp Signature Encrypt</items>

-        <user>service</user>

-        <passwordCallbackClass>org.apache.rampart.samples.sample11.PWCBHandler</passwordCallbackClass>

-        <signaturePropFile>service.properties</signaturePropFile>

-        <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>

-        <encryptionKeyIdentifier>SKIKeyIdentifier</encryptionKeyIdentifier>

-        <encryptionUser>useReqSigCert</encryptionUser>

-      </action>

-    </parameter>

-</service>

diff --git a/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/Client.java b/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/Client.java
deleted file mode 100644
index 5d53eb1..0000000
--- a/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/Client.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample11;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.description.Parameter;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.rampart.handler.config.InflowConfiguration;
-import org.apache.rampart.handler.config.OutflowConfiguration;
-
-public class Client {
-
-    public static void main(String[] args) throws Exception {
-        
-        if(args.length != 2) {
-            System.out.println("Usage: $java Client endpoint_address client_repo_path");
-        }
-        
-        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], args[1] + "/conf/axis2.xml");
-        
-        ServiceClient client = new ServiceClient(ctx, null);
-        Options options = new Options();
-        options.setAction("urn:echo");
-        options.setTo(new EndpointReference(args[0]));
-        
-        //Set the rampart parameters
-        options.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY, getOutflowConfiguration());
-        options.setProperty(WSSHandlerConstants.INFLOW_SECURITY, getInflowConfiguration());
-        
-        client.setOptions(options);
-        
-        //Engage rampart
-        client.engageModule("rampart");
-        
-        OMElement response = client.sendReceive(getPayload("Hello world"));
-        
-        System.out.println(response);
-        
-    }
-    
-    private static OMElement getPayload(String value) {
-        OMFactory factory = OMAbstractFactory.getOMFactory();
-        OMNamespace ns = factory.createOMNamespace("http://sample11.samples.rampart.apache.org","ns1");
-        OMElement elem = factory.createOMElement("echo", ns);
-        OMElement childElem = factory.createOMElement("param0", null);
-        childElem.setText(value);
-        elem.addChild(childElem);
-        
-        return elem;
-    }
-    
-    private static Parameter getOutflowConfiguration() {
-        OutflowConfiguration ofc = new OutflowConfiguration();
-        ofc.setActionItems("Timestamp Signature Encrypt");
-        ofc.setUser("client");
-        ofc.setPasswordCallbackClass("org.apache.rampart.samples.sample11.PWCBHandler");
-        ofc.setSignaturePropFile("client.properties");
-        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.BST_DIRECT_REFERENCE);
-        ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.ISSUER_SERIAL);
-        ofc.setEncryptionUser("service");
-        
-        return ofc.getProperty();
-    }
-    
-    private static Parameter getInflowConfiguration() {
-        InflowConfiguration ifc = new InflowConfiguration();
-        ifc.setActionItems("Timestamp Signature Encrypt");
-        ifc.setPasswordCallbackClass("org.apache.rampart.samples.sample11.PWCBHandler");
-        ifc.setSignaturePropFile("client.properties");
-        
-        return ifc.getProperty();
-    }
-    
-}
diff --git a/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/PWCBHandler.java b/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/PWCBHandler.java
deleted file mode 100644
index bc66753..0000000
--- a/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/PWCBHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.samples.sample11;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import java.io.IOException;
-
-public class PWCBHandler implements CallbackHandler {
-
-    public void handle(Callback[] callbacks) throws IOException,
-            UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
-            
-            String id = pwcb.getIdentifier();
-            if("client".equals(id)) {
-                pwcb.setPassword("apache");
-            } else if("service".equals(id)) {
-                pwcb.setPassword("apache");
-            }
-        }
-    }
-
-}
diff --git a/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/SimpleService.java b/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/SimpleService.java
deleted file mode 100644
index 012bd62..0000000
--- a/modules/rampart-samples/basic/sample11/src/org/apache/rampart/samples/sample11/SimpleService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.rampart.samples.sample11;
-/*
-
- * Copyright  2003-2005 The Apache Software Foundation.
- *
- *  Licensed 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.
- *
- */
-
-public class SimpleService {
-    
-    public String echo(String arg) {
-        return arg;
-    }
-}
diff --git a/modules/rampart-samples/build.xml b/modules/rampart-samples/build.xml
deleted file mode 100644
index 708bc83..0000000
--- a/modules/rampart-samples/build.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- !
- ! Copyright 2006 The Apache Software Foundation.
- !
- ! Licensed 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 basedir="." default="setup">
-
-	<property name="lib.dir" value="../lib"/>
-	<property name="modules.dir" value="../modules"/>
-	
-	<property environment="env"/>
-    	
-	<target name="check.dependency" unless="env.AXIS2_HOME">
-        <echo message="AXIS2_HOME must be set"/>
-    </target>
-
-	<!-- Copy the required jars and mars appropriately -->
-	<target name="setup" if="env.AXIS2_HOME" depends="check.dependency">
-		
-   		<property name="axis2.modules.dir" value="${env.AXIS2_HOME}/repository/modules/"/>
-   		<property name="axis2.lib.dir" value="${env.AXIS2_HOME}/lib"/>
-		
-		<copy todir="${axis2.lib.dir}">
-	        <fileset dir="${lib.dir}">
-	                <include name="**/*.jar"/>
-	        </fileset>
-		</copy>
-		
-		<copy todir="${axis2.modules.dir}">
-	        <fileset dir="${modules.dir}">
-	                <include name="**/*.mar"/>
-	        </fileset>
-		</copy>
-				
-	</target>
-	
-</project>
diff --git a/modules/rampart-samples/keys/service.jks b/modules/rampart-samples/keys/service.jks
index dec41cb..faa0a20 100644
--- a/modules/rampart-samples/keys/service.jks
+++ b/modules/rampart-samples/keys/service.jks
Binary files differ
diff --git a/modules/rampart-samples/policy/build.xml b/modules/rampart-samples/policy/build.xml
index 69268e9..e9f6dea 100644
--- a/modules/rampart-samples/policy/build.xml
+++ b/modules/rampart-samples/policy/build.xml
@@ -18,12 +18,13 @@
 
 <project basedir="." default="clean">
 
-	<property name="service.repos.dir" value="build/service_repositories"/>
-	<property name="client.repos.dir" value="build/client_repositories"/>
-	<property name="temp.dir" value="build/temp"/>
+	<property name="build.dir" value="build"/>
+	<property name="service.repos.dir" value="${build.dir}/service_repositories"/>
+	<property name="client.repos.dir" value="${build.dir}/client_repositories"/>
+	<property name="temp.dir" value="${build.dir}/temp"/>
 	<property name="keys.dir" value="../keys"/>
-	<property name="temp.client.dir" value="build/temp_client"/>
-    <property name="endorsed.dir" value="build/endorsed"/>
+	<property name="temp.client.dir" value="${build.dir}/temp_client"/>
+    <property name="endorsed.dir" value="${build.dir}/endorsed"/>
 	
 	<property name="client.port" value="8080"/>
 	<property name="server.port" value="8080"/>
@@ -34,6 +35,8 @@
     
     <property name="lib.dir" value="${env.AXIS2_HOME}/lib"/>
     
+    <property name="vmargs" value=""/>
+    
     <path id="runtime.classpath">
         <fileset dir="${lib.dir}">
             <include name="**/*.jar"/>
@@ -125,6 +128,16 @@
         <create.and.run.client sample.number="08"/>
     </target>
 
+    <!--Sample Service 09-->
+    <target name="service.09" if="env.AXIS2_HOME" depends="check.dependency">
+        <create.service.repo sample.number="09"/>
+    </target>
+
+    <!--Sample Client 09-->
+    <target  name="client.09" if="env.AXIS2_HOME" depends="check.dependency">
+        <create.and.run.client sample.number="09"/>
+    </target>
+
     <target name="setup">
 	<mkdir dir="${endorsed.dir}"/>
         <get src="http://repo2.maven.org/maven2/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"
@@ -133,7 +146,7 @@
 
 
 	<target name="clean">
-		<delete dir="build" />
+		<delete dir="${build.dir}" />
 	</target>
 	
 	<!-- Macro to create a service repo for a given sample -->
@@ -170,7 +183,11 @@
                     <exclude name="**/Client.java"/>
             </javac>
 	   		
-	   		<copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true"/>
+            <copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true">
+                <filterset>
+                    <filter token="port" value="${server.port}"/>
+                </filterset>
+            </copy>
 	   		<copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
 	   		<copy file="${keys.dir}/sts.jks" tofile="${temp.dir}/sts.jks" overwrite="true"/>
 	   		<copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>
@@ -185,7 +202,7 @@
                     <arg value="${service.repos.dir}/sample@{sample.number}"/>
                     <arg value="-p${server.port}"/>
                     <classpath refid="runtime.classpath"/>
-                    <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}"/>
+                    <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir} ${vmargs}"/>
             </java>
 
 	   </sequential>
@@ -225,8 +242,16 @@
                     <exclude name="**/Client.java"/>
             </javac>
             
-            <copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true"/>
-            <copy file="sample@{sample.number}/mex_policy.xml" tofile="${temp.dir}/mex_policy.xml" overwrite="true"/>
+            <copy file="sample@{sample.number}/services.xml" tofile="${temp.dir}/META-INF/services.xml" overwrite="true">
+                <filterset>
+                    <filter token="port" value="${server.port}"/>
+                </filterset>
+            </copy>
+            <copy file="sample@{sample.number}/mex_policy.xml" tofile="${temp.dir}/mex_policy.xml" overwrite="true">
+                <filterset>
+                    <filter token="port" value="${server.port}"/>
+                </filterset>
+            </copy>
             <copy file="${keys.dir}/service.jks" tofile="${temp.dir}/service.jks" overwrite="true"/>
             <copy file="${keys.dir}/sts.jks" tofile="${temp.dir}/sts.jks" overwrite="true"/>
             <copy file="${keys.dir}/service.properties" tofile="${temp.dir}/service.properties" overwrite="true"/>
@@ -241,7 +266,7 @@
                     <arg value="${service.repos.dir}/sample@{sample.number}"/>
                     <arg value="-p${server.port}"/>
                     <classpath refid="runtime.classpath"/>
-                    <jvmarg value="-Djava.endorsed.dirs=${endorsed.dir}"/>
+                    <jvmarg line="-Djava.endorsed.dirs=${endorsed.dir} ${vmargs}"/>
             </java>
 
        </sequential>
@@ -280,17 +305,26 @@
 
 	   		<copy file="${keys.dir}/client.jks" tofile="${temp.client.dir}/client.jks" overwrite="true"/>
 	   		<copy file="${keys.dir}/client.properties" tofile="${temp.client.dir}/client.properties" overwrite="true"/>
+            <copy todir="${temp.client.dir}" overwrite="true">
+                <fileset dir="sample@{sample.number}">
+                    <include name="*policy*.xml"/>
+                </fileset>
+                <filterset>
+                    <filter token="port" value="${client.port}"/>
+                </filterset>
+            </copy>
 
 	   		
 	   		<!-- Run client -->
-            <java classname="org.apache.rampart.samples.policy.sample@{sample.number}.Client" fork="true">
+            <java classname="org.apache.rampart.samples.policy.sample@{sample.number}.Client" fork="true" failonerror="true">
                     <arg value="${sample.services.url}/sample@{sample.number}"/>
                     <arg value="${client.repos.dir}/sample@{sample.number}"/>
-                    <arg value="sample@{sample.number}/policy.xml"/>
+                    <arg value="${temp.client.dir}/policy.xml"/>
                     <classpath>
                         <path refid="runtime.classpath"/>
                   		<dirset dir="${temp.client.dir}" />
                     </classpath>
+                    <jvmarg line="${vmargs}"/>
             </java>
 
 <!--	   		<delete dir="${temp.client.dir}"/> -->
diff --git a/modules/rampart-samples/policy/sample01/README.txt b/modules/rampart-samples/policy/sample01/README.txt
index ad75ce6..dd87594 100644
--- a/modules/rampart-samples/policy/sample01/README.txt
+++ b/modules/rampart-samples/policy/sample01/README.txt
@@ -3,6 +3,16 @@
 The policy uses a TransportBinding and requires a SignedSupportingToken which 
 is a UsernameToken and the inclusion of a TimeStamp. 
 
-Note that Rampart does not enforce the use of HTTPS transport and that 
+Note that Rampart enforces the use of HTTPS transport and that 
 {http://ws.apache.org/rampart/policy}RampartConfig assertion provides
-additional information required to secure the message.
\ No newline at end of file
+additional information required to secure the message.
+
+The policy included in the services.xml file has the following comment :
+<!--<sp:HttpsToken RequireClientCertificate="false"/> -->
+
+If you uncomment this and deploy the service you will see the following error message :
+org.apache.axis2.AxisFault: Expected transport is "https" but incoming transport found : "http"
+
+You can find a complete tutorial on transport level
+security here:
+http://wso2.org/library/3190
\ No newline at end of file
diff --git a/modules/rampart-samples/policy/sample01/services.xml b/modules/rampart-samples/policy/sample01/services.xml
index bd4eb39..423923f 100644
--- a/modules/rampart-samples/policy/sample01/services.xml
+++ b/modules/rampart-samples/policy/sample01/services.xml
@@ -32,7 +32,8 @@
 			  <wsp:Policy>

 				<sp:TransportToken>

 				  <wsp:Policy>

-					<sp:HttpsToken RequireClientCertificate="false"/>

+				  	<!-- REMOVED TO MAKE THE SAMPLE RUN WITH THE axis2server-->

+					<!--<sp:HttpsToken RequireClientCertificate="false"/> -->

 				  </wsp:Policy>

 				</sp:TransportToken>

 				<sp:AlgorithmSuite>

diff --git a/modules/rampart-samples/policy/sample01/src/org/apache/rampart/samples/policy/sample01/Client.java b/modules/rampart-samples/policy/sample01/src/org/apache/rampart/samples/policy/sample01/Client.java
index 4e0600f..279ba9c 100644
--- a/modules/rampart-samples/policy/sample01/src/org/apache/rampart/samples/policy/sample01/Client.java
+++ b/modules/rampart-samples/policy/sample01/src/org/apache/rampart/samples/policy/sample01/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
@@ -30,6 +31,8 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.rampart.RampartMessageData;
 
+import java.io.FileInputStream;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -59,7 +62,7 @@
     }
     
     private static Policy loadPolicy(String xmlPath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
     
diff --git a/modules/rampart-samples/policy/sample02/src/org/apache/rampart/samples/policy/sample02/Client.java b/modules/rampart-samples/policy/sample02/src/org/apache/rampart/samples/policy/sample02/Client.java
index 6cd1f11..0239d84 100644
--- a/modules/rampart-samples/policy/sample02/src/org/apache/rampart/samples/policy/sample02/Client.java
+++ b/modules/rampart-samples/policy/sample02/src/org/apache/rampart/samples/policy/sample02/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
@@ -30,6 +31,8 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.rampart.RampartMessageData;
 
+import java.io.FileInputStream;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -59,7 +62,7 @@
     }
     
     private static Policy loadPolicy(String xmlPath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
     
diff --git a/modules/rampart-samples/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java b/modules/rampart-samples/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java
index 6fd3507..6adc113 100644
--- a/modules/rampart-samples/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java
+++ b/modules/rampart-samples/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
@@ -30,6 +31,8 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.rampart.RampartMessageData;
 
+import java.io.FileInputStream;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -59,7 +62,7 @@
     }
     
     private static Policy loadPolicy(String xmlPath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
     
diff --git a/modules/rampart-samples/policy/sample04/src/org/apache/rampart/samples/policy/sample04/Client.java b/modules/rampart-samples/policy/sample04/src/org/apache/rampart/samples/policy/sample04/Client.java
index ac6a5a0..3588828 100644
--- a/modules/rampart-samples/policy/sample04/src/org/apache/rampart/samples/policy/sample04/Client.java
+++ b/modules/rampart-samples/policy/sample04/src/org/apache/rampart/samples/policy/sample04/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
@@ -31,6 +32,8 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.rampart.RampartMessageData;
 
+import java.io.FileInputStream;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -67,7 +70,7 @@
     }
     
     private static Policy loadPolicy(String xmlPath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
     
diff --git a/modules/rampart-samples/policy/sample05/policy.xml b/modules/rampart-samples/policy/sample05/policy.xml
index 1807e03..6fd65f3 100755
--- a/modules/rampart-samples/policy/sample05/policy.xml
+++ b/modules/rampart-samples/policy/sample05/policy.xml
@@ -35,7 +35,7 @@
 					<wsp:Policy>
 						<sp:IssuedToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
 							<Issuer xmlns="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-								<Address xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8080/axis2/services/STS</Address>
+								<Address xmlns="http://www.w3.org/2005/08/addressing">http://localhost:@port@/axis2/services/STS</Address>
 							</Issuer>
 							<sp:RequestSecurityTokenTemplate>
 								<t:TokenType xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</t:TokenType>
diff --git a/modules/rampart-samples/policy/sample05/src/org/apache/rampart/samples/policy/sample05/Client.java b/modules/rampart-samples/policy/sample05/src/org/apache/rampart/samples/policy/sample05/Client.java
index 9a34b7c..abaf622 100644
--- a/modules/rampart-samples/policy/sample05/src/org/apache/rampart/samples/policy/sample05/Client.java
+++ b/modules/rampart-samples/policy/sample05/src/org/apache/rampart/samples/policy/sample05/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
@@ -37,6 +38,9 @@
 import org.apache.ws.secpolicy.SP11Constants;
 import org.opensaml.common.xml.SAMLConstants;
 
+import java.io.FileInputStream;
+import java.net.URL;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -55,7 +59,7 @@
 		String action = TrustUtil.getActionValue(RahasConstants.VERSION_05_02, RahasConstants.RST_ACTION_ISSUE);
 		stsClient.setAction(action);
 		
-		Token responseToken = stsClient.requestSecurityToken(loadPolicy("sample05/policy.xml"), "http://localhost:8080/axis2/services/STS", loadPolicy("sample05/sts_policy.xml"), null);
+		Token responseToken = stsClient.requestSecurityToken(loadPolicy("sample05/policy.xml"), new URL(new URL(args[0]), "/axis2/services/STS").toString(), loadPolicy("sample05/sts_policy.xml"), null);
 		
 	        System.out.println("\n############################# Requested Token ###################################\n");
 	        System.out.println(responseToken.getToken().toString());
@@ -83,7 +87,7 @@
 	}
 
 	private static Policy loadPolicy(String xmlPath) throws Exception {
-		StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
 		return PolicyEngine.getPolicy(builder.getDocumentElement());
 	}
 	
diff --git a/modules/rampart-samples/policy/sample06/policy.xml b/modules/rampart-samples/policy/sample06/policy.xml
index 24728d8..dbcf50c 100755
--- a/modules/rampart-samples/policy/sample06/policy.xml
+++ b/modules/rampart-samples/policy/sample06/policy.xml
@@ -35,7 +35,7 @@
 					<wsp:Policy>
 						<sp:IssuedToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
 							<Issuer xmlns="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-								<Address xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8080/axis2/services/STS</Address>
+								<Address xmlns="http://www.w3.org/2005/08/addressing">http://localhost:@port@/axis2/services/STS</Address>
 								<Metadata xmlns="http://www.w3.org/2005/08/addressing">
                                     <mex:Metadata
                                         xmlns:mex="http://schemas.xmlsoap.org/ws/2004/09/mex"
@@ -43,7 +43,7 @@
                                         <mex:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2004/09/mex">
                                             <mex:MetadataReference>
                                                 <Address
-                                                    xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8080/axis2/services/mex</Address>
+                                                    xmlns="http://www.w3.org/2005/08/addressing">http://localhost:@port@/axis2/services/mex</Address>
                                             </mex:MetadataReference>
                                         </mex:MetadataSection>
                                     </mex:Metadata>
@@ -104,4 +104,4 @@
 			</ramp:RampartConfig>
 		</wsp:All>
 	</wsp:ExactlyOne>
-</wsp:Policy>
\ No newline at end of file
+</wsp:Policy>
diff --git a/modules/rampart-samples/policy/sample06/services.xml b/modules/rampart-samples/policy/sample06/services.xml
index b86f1fb..70a2373 100755
--- a/modules/rampart-samples/policy/sample06/services.xml
+++ b/modules/rampart-samples/policy/sample06/services.xml
@@ -183,7 +183,7 @@
                                         <mex:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2004/09/mex">

                                             <mex:MetadataReference>

                                                 <Address

-                                                    xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8080/axis2/services/mex</Address>

+                                                    xmlns="http://www.w3.org/2005/08/addressing">http://localhost:@port@/axis2/services/mex</Address>

                                             </mex:MetadataReference>

                                         </mex:MetadataSection>

                                     </mex:Metadata>

diff --git a/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/Client.java b/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/Client.java
index df23146..16b9446 100755
--- a/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/Client.java
+++ b/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
@@ -35,6 +36,7 @@
 import org.apache.ws.secpolicy.SP11Constants;
 import org.opensaml.common.xml.SAMLConstants;
 
+import java.io.FileInputStream;
 
 import javax.xml.namespace.QName;
 
@@ -67,7 +69,7 @@
 	}
 
     private static Policy loadPolicy(String xmlPath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
 	
diff --git a/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java b/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java
index 2b8a12f..2ad338f 100644
--- a/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java
+++ b/modules/rampart-samples/policy/sample06/src/org/apache/rampart/samples/policy/sample06/MexService.java
@@ -22,10 +22,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.stream.XMLStreamException;
-
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.mex.MexConstants;
 import org.apache.axis2.mex.om.Metadata;
@@ -56,12 +55,10 @@
             
             File file = new File("sample06/mex_policy.xml");
             System.out.println(file.getAbsolutePath());
-            StAXOMBuilder builder = new StAXOMBuilder(new FileInputStream(file));
+            OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(file));
             return builder.getDocumentElement();
         } catch (FileNotFoundException e) {
             throw new AxisFault("Error reading the file",e);
-        } catch (XMLStreamException e) {
-            throw new AxisFault("Error parsing the file",e);
         }
     }
 
diff --git a/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java b/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
index 0b5f3b3..9c5d875 100644
--- a/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
+++ b/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
@@ -20,7 +20,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.client.ServiceClient;
@@ -30,6 +31,8 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.rampart.RampartMessageData;
 
+import java.io.FileInputStream;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -59,7 +62,7 @@
     }
     
     private static Policy loadPolicy(String xmlPath) throws Exception {
-        StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
     
diff --git a/modules/rampart-samples/policy/sample08/policy.xml b/modules/rampart-samples/policy/sample08/policy.xml
index f1a09da..b19491a 100644
--- a/modules/rampart-samples/policy/sample08/policy.xml
+++ b/modules/rampart-samples/policy/sample08/policy.xml
@@ -35,7 +35,7 @@
 					<wsp:Policy>
 						<sp:IssuedToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
 							<Issuer xmlns="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
-								<Address xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8080/axis2/services/STS</Address>
+								<Address xmlns="http://www.w3.org/2005/08/addressing">http://localhost:@port@/axis2/services/STS</Address>
 							</Issuer>
 							<sp:RequestSecurityTokenTemplate>
 								<t:TokenType xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0</t:TokenType>
diff --git a/modules/rampart-samples/policy/sample08/src/org/apache/rampart/samples/policy/sample08/Client.java b/modules/rampart-samples/policy/sample08/src/org/apache/rampart/samples/policy/sample08/Client.java
index 1167487..e3372cf 100644
--- a/modules/rampart-samples/policy/sample08/src/org/apache/rampart/samples/policy/sample08/Client.java
+++ b/modules/rampart-samples/policy/sample08/src/org/apache/rampart/samples/policy/sample08/Client.java
@@ -19,7 +19,8 @@
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.ConfigurationContextFactory;
 import org.apache.neethi.Policy;
@@ -31,6 +32,9 @@
 import org.apache.ws.secpolicy.SP11Constants;
 import org.opensaml.common.xml.SAMLConstants;
 
+import java.io.FileInputStream;
+import java.net.URL;
+
 import javax.xml.namespace.QName;
 
 public class Client {
@@ -49,7 +53,7 @@
 		String action = TrustUtil.getActionValue(RahasConstants.VERSION_05_02, RahasConstants.RST_ACTION_ISSUE);
 		stsClient.setAction(action);
 		
-		Token responseToken = stsClient.requestSecurityToken(loadPolicy("sample08/policy.xml"), "http://localhost:8080/axis2/services/STS", loadPolicy("sample08/sts_policy.xml"), null);
+		Token responseToken = stsClient.requestSecurityToken(loadPolicy("sample08/policy.xml"), new URL(new URL(args[0]), "/axis2/services/STS").toString(), loadPolicy("sample08/sts_policy.xml"), null);
 		
 	        System.out.println("\n############################# Requested SAML 2.0 Token ###################################\n");
 	        System.out.println(responseToken.getToken().toString());
@@ -59,7 +63,7 @@
 	}
 
 	private static Policy loadPolicy(String xmlPath) throws Exception {
-		StAXOMBuilder builder = new StAXOMBuilder(xmlPath);
+	    OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
 		return PolicyEngine.getPolicy(builder.getDocumentElement());
 	}
 	
diff --git a/modules/rampart-samples/policy/sample09/README.txt b/modules/rampart-samples/policy/sample09/README.txt
new file mode 100644
index 0000000..67955cf
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/README.txt
@@ -0,0 +1,4 @@
+Different security policies to secure request and response messages.
+
+1. Request message is secured with encrypt only policy with symmetric binding.
+2. Response message is secured with sign only policy with symmetric binding.
\ No newline at end of file
diff --git a/modules/rampart-samples/policy/sample09/client_in_policy.xml b/modules/rampart-samples/policy/sample09/client_in_policy.xml
new file mode 100644
index 0000000..1f3ce97
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/client_in_policy.xml
@@ -0,0 +1,70 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            wsu:Id="SignOnly">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:SymmetricBinding
+                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:ProtectionToken>
+                        <wsp:Policy>
+                            <sp:X509Token
+                                    sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                <wsp:Policy>
+                                    <sp:RequireThumbprintReference/>
+                                    <sp:WssX509V3Token10/>
+                                </wsp:Policy>
+                            </sp:X509Token>
+                        </wsp:Policy>
+                    </sp:ProtectionToken>
+                    <sp:AlgorithmSuite>
+                        <wsp:Policy>
+                            <sp:Basic256/>
+                        </wsp:Policy>
+                    </sp:AlgorithmSuite>
+                    <sp:Layout>
+                        <wsp:Policy>
+                            <sp:Lax/>
+                        </wsp:Policy>
+                    </sp:Layout>
+                    <sp:IncludeTimestamp/>
+                    <sp:OnlySignEntireHeadersAndBody/>
+                </wsp:Policy>
+            </sp:SymmetricBinding>
+            <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <sp:Body/>
+            </sp:SignedParts>
+            <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:MustSupportRefKeyIdentifier/>
+                    <sp:MustSupportRefIssuerSerial/>
+                    <sp:MustSupportRefThumbprint/>
+                    <sp:RequireSignatureConfirmation/>
+                </wsp:Policy>
+            </sp:Wss11>
+            <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:RequireClientEntropy/>
+                    <sp:RequireServerEntropy/>
+                    <sp:MustSupportIssuedTokens/>
+                </wsp:Policy>
+            </sp:Trust10>
+            <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
+            <ramp:user>client</ramp:user>
+            <ramp:encryptionUser>service</ramp:encryptionUser>
+            <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample09.PWCBHandler
+            </ramp:passwordCallbackClass>
+
+            <ramp:signatureCrypto>
+                <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                    <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                    <ramp:property name="org.apache.ws.security.crypto.merlin.file">client.jks</ramp:property>
+                    <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache
+                    </ramp:property>
+                </ramp:crypto>
+            </ramp:signatureCrypto>
+
+        </ramp:RampartConfig>
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-samples/policy/sample09/client_out_policy.xml b/modules/rampart-samples/policy/sample09/client_out_policy.xml
new file mode 100644
index 0000000..48de841
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/client_out_policy.xml
@@ -0,0 +1,79 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            wsu:Id="EncryptOnly">
+    <wsp:ExactlyOne>
+        <wsp:All>
+            <sp:SymmetricBinding
+                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:ProtectionToken>
+                        <wsp:Policy>
+                            <sp:X509Token
+                                    sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                <wsp:Policy>
+                                    <sp:RequireThumbprintReference/>
+                                    <sp:WssX509V3Token10/>
+                                </wsp:Policy>
+                            </sp:X509Token>
+                        </wsp:Policy>
+                    </sp:ProtectionToken>
+                    <sp:AlgorithmSuite>
+                        <wsp:Policy>
+                            <sp:Basic256/>
+                        </wsp:Policy>
+                    </sp:AlgorithmSuite>
+                    <sp:Layout>
+                        <wsp:Policy>
+                            <sp:Lax/>
+                        </wsp:Policy>
+                    </sp:Layout>
+                    <sp:IncludeTimestamp/>
+                    <sp:OnlySignEntireHeadersAndBody/>
+                </wsp:Policy>
+            </sp:SymmetricBinding>
+            <sp:EncryptedParts
+                    xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <sp:Body/>
+            </sp:EncryptedParts>
+            <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:MustSupportRefKeyIdentifier/>
+                    <sp:MustSupportRefIssuerSerial/>
+                    <sp:MustSupportRefThumbprint/>
+                    <sp:RequireSignatureConfirmation/>
+                </wsp:Policy>
+            </sp:Wss11>
+            <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                <wsp:Policy>
+                    <sp:RequireClientEntropy/>
+                    <sp:RequireServerEntropy/>
+                    <sp:MustSupportIssuedTokens/>
+                </wsp:Policy>
+            </sp:Trust10>
+            <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
+                <ramp:user>client</ramp:user>
+                <ramp:encryptionUser>service</ramp:encryptionUser>
+                <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample09.PWCBHandler
+                </ramp:passwordCallbackClass>
+
+                <ramp:encryptionCypto>
+                    <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.file">client.jks</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache
+                        </ramp:property>
+                    </ramp:crypto>
+                </ramp:encryptionCypto>
+                <ramp:signatureCrypto>
+                    <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.file">client.jks</ramp:property>
+                        <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache
+                        </ramp:property>
+                    </ramp:crypto>
+                </ramp:signatureCrypto>
+            </ramp:RampartConfig>
+
+        </wsp:All>
+    </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-samples/policy/sample09/services.xml b/modules/rampart-samples/policy/sample09/services.xml
new file mode 100644
index 0000000..f3cf087
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/services.xml
@@ -0,0 +1,191 @@
+<?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.
+  -->
+<!-- services.xml for sample09 with different in,out policies -->
+<service>
+    <operation name="echo">
+        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </operation>
+    <parameter name="ServiceClass" locked="false">org.apache.rampart.samples.policy.sample09.SimpleService</parameter>
+
+    <module ref="rampart"/>
+    <module ref="addressing"/>
+
+    <wsp:PolicyAttachment xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+        <wsp:AppliesTo>
+            <policy-subject identifier="binding:soap11/operation:echo/in"/>
+            <policy-subject identifier="binding:soap12/operation:echo/in"/>
+        </wsp:AppliesTo>
+        <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+                    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+                    wsu:Id="EncryptOnly">
+            <wsp:ExactlyOne>
+                <wsp:All>
+                    <sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy>
+                            <sp:ProtectionToken>
+                                <wsp:Policy>
+                                    <sp:X509Token
+                                            sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                        <wsp:Policy>
+                                            <sp:RequireThumbprintReference/>
+                                            <sp:WssX509V3Token10/>
+                                        </wsp:Policy>
+                                    </sp:X509Token>
+                                </wsp:Policy>
+                            </sp:ProtectionToken>
+                            <sp:AlgorithmSuite>
+                                <wsp:Policy>
+                                    <sp:Basic256/>
+                                </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:Layout>
+                                <wsp:Policy>
+                                    <sp:Lax/>
+                                </wsp:Policy>
+                            </sp:Layout>
+                            <sp:IncludeTimestamp/>
+                            <sp:OnlySignEntireHeadersAndBody/>
+                        </wsp:Policy>
+                    </sp:SymmetricBinding>
+                    <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <sp:Body/>
+                    </sp:EncryptedParts>
+                    <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy>
+                            <sp:MustSupportRefKeyIdentifier/>
+                            <sp:MustSupportRefIssuerSerial/>
+                            <sp:MustSupportRefThumbprint/>
+                            <sp:RequireSignatureConfirmation/>
+                        </wsp:Policy>
+                    </sp:Wss11>
+                    <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy>
+                            <sp:RequireClientEntropy/>
+                            <sp:RequireServerEntropy/>
+                            <sp:MustSupportIssuedTokens/>
+                        </wsp:Policy>
+                    </sp:Trust10>
+                    <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
+                        <ramp:user>service</ramp:user>
+                        <ramp:encryptionUser>service</ramp:encryptionUser>
+                        <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample09.PWCBHandler
+                        </ramp:passwordCallbackClass>
+
+                        <ramp:encryptionCypto>
+                            <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                                <ramp:property name="org.apache.ws.security.crypto.merlin.file">service.jks</ramp:property>
+                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache
+                                </ramp:property>
+                            </ramp:crypto>
+                        </ramp:encryptionCypto>
+                        <ramp:signatureCrypto>
+                            <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                                <ramp:property name="org.apache.ws.security.crypto.merlin.file">service.jks</ramp:property>
+                                <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache
+                                </ramp:property>
+                            </ramp:crypto>
+                        </ramp:signatureCrypto>
+                        
+                    </ramp:RampartConfig>
+                    
+                </wsp:All>
+            </wsp:ExactlyOne>
+        </wsp:Policy>
+    </wsp:PolicyAttachment>
+    <wsp:PolicyAttachment xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+        <wsp:AppliesTo>
+            <policy-subject identifier="binding:soap11/operation:echo/out"/>
+            <policy-subject identifier="binding:soap12/operation:echo/out"/>
+        </wsp:AppliesTo>
+        <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
+                    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+                    wsu:Id="SignOnly">
+            <wsp:ExactlyOne>
+                <wsp:All>
+                    <sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy>
+                            <sp:ProtectionToken>
+                                <wsp:Policy>
+                                    <sp:X509Token
+                                            sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+                                        <wsp:Policy>
+                                            <sp:RequireThumbprintReference/>
+                                            <sp:WssX509V3Token10/>
+                                        </wsp:Policy>
+                                    </sp:X509Token>
+                                </wsp:Policy>
+                            </sp:ProtectionToken>
+                            <sp:AlgorithmSuite>
+                                <wsp:Policy>
+                                    <sp:Basic256/>
+                                </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:Layout>
+                                <wsp:Policy>
+                                    <sp:Lax/>
+                                </wsp:Policy>
+                            </sp:Layout>
+                            <sp:IncludeTimestamp/>
+                            <sp:OnlySignEntireHeadersAndBody/>
+                        </wsp:Policy>
+                    </sp:SymmetricBinding>
+                    <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <sp:Body/>
+                    </sp:SignedParts>
+                    <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy>
+                            <sp:MustSupportRefKeyIdentifier/>
+                            <sp:MustSupportRefIssuerSerial/>
+                            <sp:MustSupportRefThumbprint/>
+                            <sp:RequireSignatureConfirmation/>
+                        </wsp:Policy>
+                    </sp:Wss11>
+                    <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+                        <wsp:Policy>
+                            <sp:RequireClientEntropy/>
+                            <sp:RequireServerEntropy/>
+                            <sp:MustSupportIssuedTokens/>
+                        </wsp:Policy>
+                    </sp:Trust10>
+                    <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
+                    <ramp:user>service</ramp:user>
+                    <ramp:encryptionUser>service</ramp:encryptionUser>
+                    <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample09.PWCBHandler
+                    </ramp:passwordCallbackClass>
+
+                    <ramp:signatureCrypto>
+                        <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin">
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property>
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.file">service.jks</ramp:property>
+                            <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache
+                            </ramp:property>
+                        </ramp:crypto>
+                    </ramp:signatureCrypto>
+                    
+                </ramp:RampartConfig>
+                </wsp:All>
+            </wsp:ExactlyOne>
+        </wsp:Policy>
+
+    </wsp:PolicyAttachment>
+
+</service>
\ No newline at end of file
diff --git a/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/Client.java b/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/Client.java
new file mode 100644
index 0000000..62f3dcd
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/Client.java
@@ -0,0 +1,84 @@
+/*
+ * 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.rampart.samples.policy.sample09;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.neethi.Policy;
+import org.apache.neethi.PolicyEngine;
+import org.apache.rampart.RampartMessageData;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+public class Client {
+
+    public static void main(String[] args) throws Exception {
+        
+        if(args.length != 3) {
+            System.out.println("Usage: $java Client endpoint_address client_repo_path policy_xml_path");
+        }
+        
+        ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], null);
+        
+        ServiceClient client = new ServiceClient(ctx, null);
+        Options options = new Options();
+        options.setAction("urn:echo");
+        options.setTo(new EndpointReference(args[0]));
+        //load and attach in/out sec policies
+        File policyPath= new File(args[2]).getParentFile();
+        options.setProperty(RampartMessageData.KEY_RAMPART_IN_POLICY, loadPolicy(new File(policyPath, "client_in_policy.xml")));
+        options.setProperty(RampartMessageData.KEY_RAMPART_OUT_POLICY, loadPolicy(new File(policyPath, "/client_out_policy.xml")));
+        client.setOptions(options);
+        
+        client.engageModule("addressing");
+        client.engageModule("rampart");
+
+        OMElement response = client.sendReceive(getPayload("Hello world"));
+        
+        System.out.println(response);
+        
+    }
+    
+    private static Policy loadPolicy(File xmlPath) throws Exception {
+        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(xmlPath));
+        return PolicyEngine.getPolicy(builder.getDocumentElement());
+    }
+    
+    private static OMElement getPayload(String value) {
+        OMFactory factory = OMAbstractFactory.getOMFactory();
+        OMNamespace ns = factory.createOMNamespace("http://sample09.policy.samples.rampart.apache.org","ns1");
+        OMElement elem = factory.createOMElement("echo", ns);
+        OMElement childElem = factory.createOMElement("param0", ns);
+        childElem.setText(value);
+        elem.addChild(childElem);
+        
+        return elem;
+    }
+    
+}
diff --git a/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/PWCBHandler.java b/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/PWCBHandler.java
new file mode 100644
index 0000000..2d62ae1
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/PWCBHandler.java
@@ -0,0 +1,44 @@
+/*
+ * 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.rampart.samples.policy.sample09;
+
+import org.apache.ws.security.WSPasswordCallback;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import java.io.IOException;
+
+public class PWCBHandler implements CallbackHandler {
+
+    public void handle(Callback[] callbacks) throws IOException,
+            UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i];
+            String id = pwcb.getIdentifier();
+            if("client".equals(id)) {
+                pwcb.setPassword("apache");
+            } else if("service".equals(id)) {
+                pwcb.setPassword("apache");
+            }
+        }
+    }
+
+}
diff --git a/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/SimpleService.java b/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/SimpleService.java
new file mode 100644
index 0000000..e1a56c4
--- /dev/null
+++ b/modules/rampart-samples/policy/sample09/src/org/apache/rampart/samples/policy/sample09/SimpleService.java
@@ -0,0 +1,25 @@
+/*
+ * 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.rampart.samples.policy.sample09;
+
+public class SimpleService {
+    public String echo(String arg) {
+        return arg;
+    }
+}
diff --git a/modules/rampart-samples/pom.xml b/modules/rampart-samples/pom.xml
index 610ca93..844379a 100644
--- a/modules/rampart-samples/pom.xml
+++ b/modules/rampart-samples/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -37,76 +37,146 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <version>1.7</version>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
                 <executions>
                     <execution>
-                        <phase>generate-sources</phase>
+                        <id>prepare-agent-for-client</id>
                         <goals>
-                            <goal>add-source</goal>
+                            <goal>prepare-agent</goal>
                         </goals>
                         <configuration>
-                            <sources>
-                                <source>basic/sample01/src</source>
-                                <source>basic/sample02/src</source>
-                                <source>basic/sample03/src</source>
-                                <source>basic/sample04/src</source>
-                                <source>basic/sample05/src</source>
-                                <source>basic/sample06/src</source>
-                                <source>basic/sample07/src</source>
-                                <source>basic/sample08/src</source>
-                                <source>basic/sample09/src</source>
-                                <source>basic/sample10/src</source>
-                                <source>basic/sample11/src</source>
-                                <source>policy/sample01/src</source>
-                                <source>policy/sample02/src</source>
-                                <source>policy/sample03/src</source>
-                                <source>policy/sample04/src</source>
-                                <source>policy/sample05/src</source>
-                                <source>policy/sample06/src</source>
-                                <source>policy/sample07/src</source>
-                                <source>policy/sample08/src</source>
-                                <source>policy/sample-tomcat/src</source>
-                            </sources>
+                            <propertyName>jacoco.argLineTemplate</propertyName>
+                            <sessionId>mvn:${project.groupId}:${project.artifactId}:${project.version}:@id@</sessionId>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>axis2-repo-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/axis2/repository</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <phase>generate-test-resources</phase>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/axis2/lib</outputDirectory>
+                            <includeTypes>jar</includeTypes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <jacoco.argLineTemplate>${jacoco.argLineTemplate}</jacoco.argLineTemplate>
+                    </systemPropertyVariables>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.rampart</groupId>
-            <artifactId>rampart-policy</artifactId>
-            <version>${project.version}</version>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.rampart</groupId>
-            <artifactId>rampart-trust</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.rampart</groupId>
-            <artifactId>rampart-core</artifactId>
-            <version>${project.version}</version>
+            <groupId>org.apache.ant</groupId>
+            <artifactId>ant</artifactId>
+            <version>1.9.6</version>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-log4j12</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun</groupId>
+            <artifactId>tools</artifactId>
+            <version>1.7.0</version>
+            <scope>system</scope>
+            <systemPath>${java.home}/../lib/tools.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>addressing</artifactId>
+            <type>mar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart</artifactId>
+            <version>${project.version}</version>
+            <type>mar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rahas</artifactId>
+            <version>${project.version}</version>
+            <type>mar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-http</artifactId>
+            <version>${axis2.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-local</artifactId>
+            <version>${axis2.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-adb</artifactId>
+            <version>${axis2.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-testutils</artifactId>
+            <version>${axis2.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>rampart-core</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
         </dependency>
     </dependencies>
 </project>
diff --git a/modules/rampart-samples/src/test/conf/log4j.properties b/modules/rampart-samples/src/test/conf/log4j.properties
new file mode 100644
index 0000000..b319014
--- /dev/null
+++ b/modules/rampart-samples/src/test/conf/log4j.properties
@@ -0,0 +1,24 @@
+#
+# 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.
+#
+
+log4j.rootCategory=INFO, CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c - %m%n
diff --git a/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Controller.java b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Controller.java
new file mode 100644
index 0000000..e916134
--- /dev/null
+++ b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Controller.java
@@ -0,0 +1,82 @@
+/*
+ * 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.rampart.samples.runner;
+
+import org.apache.axis2.testutils.PortAllocator;
+import org.apache.tools.ant.Project;
+
+final class Controller {
+    private final Sample sample;
+    private boolean serverReady;
+    private boolean serverStopped;
+    private boolean serverStopDetected;
+
+    Controller(Sample sample) {
+        this.sample = sample;
+    }
+
+    void execute() throws InterruptedException {
+        int port = PortAllocator.allocatePort();
+        Logger logger = new Logger();
+        logger.setErrorPrintStream(System.err);
+        logger.setOutputPrintStream(System.out);
+        logger.setMessageOutputLevel(Project.MSG_INFO);
+        ServerWatcher serverWatcher = new ServerWatcher(this, port);
+        new Thread(serverWatcher).start();
+        try {
+            Thread serverRunnerThread = new Thread(new ServerRunner(this, sample, logger, port));
+            serverRunnerThread.start();
+            try {
+                synchronized (this) {
+                    if (!serverStopped && !serverReady) {
+                        wait();
+                    } else if (serverStopped) {
+                        return;
+                    }
+                }
+                sample.runClient(logger, port);
+            } finally {
+                logger.shutdown();
+                serverRunnerThread.interrupt();
+                synchronized (this) {
+                    while (!serverStopDetected) {
+                        wait();
+                    }
+                }
+            }
+        } finally {
+            serverWatcher.stop();
+        }
+    }
+    
+    synchronized void serverStopped() {
+        serverStopped = true;
+        notifyAll();
+    }
+
+    synchronized void serverReady() {
+        serverReady = true;
+        notifyAll();
+    }
+    
+    synchronized void serverStopDetected() {
+        serverStopDetected = true;
+        notifyAll();
+    }
+}
diff --git a/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Logger.java b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Logger.java
new file mode 100644
index 0000000..3893e60
--- /dev/null
+++ b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Logger.java
@@ -0,0 +1,38 @@
+/*
+ * 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.rampart.samples.runner;
+
+import java.io.PrintStream;
+
+import org.apache.tools.ant.DefaultLogger;
+
+final class Logger extends DefaultLogger {
+    private boolean shutdown;
+
+    @Override
+    protected synchronized void printMessage(String message, PrintStream stream, int priority) {
+        if (!shutdown) {
+            super.printMessage(message, stream, priority);
+        }
+    }
+    
+    void shutdown() {
+        this.shutdown = true;
+    }
+}
diff --git a/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Sample.java b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Sample.java
new file mode 100644
index 0000000..83a5510
--- /dev/null
+++ b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/Sample.java
@@ -0,0 +1,64 @@
+/*
+ * 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.rampart.samples.runner;
+
+import java.io.File;
+
+import org.apache.tools.ant.BuildLogger;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.ProjectHelper;
+
+final class Sample {
+    private final String group;
+    private final String sampleId;
+
+    Sample(String group, String sampleId) {
+        this.group = group;
+        this.sampleId = sampleId;
+    }
+
+    private void run(BuildLogger logger, int port, String target) {
+        Project project = new Project();
+        File targetDir = new File("target");
+        project.setUserProperty("env.AXIS2_HOME", new File(targetDir, "axis2").getAbsolutePath());
+        project.setUserProperty("build.dir", new File(targetDir, "build").getAbsolutePath());
+        project.setUserProperty("client.port", String.valueOf(port));
+        project.setUserProperty("server.port", String.valueOf(port));
+        StringBuilder vmargs = new StringBuilder();
+        vmargs.append("-Dlog4j.configuration=");
+        vmargs.append(new File("src/test/conf/log4j.properties").getAbsoluteFile().toURI().toString());
+        String jacocoArgLineTemplate = System.getProperty("jacoco.argLineTemplate");
+        if (jacocoArgLineTemplate != null) {
+            vmargs.append(" ");
+            vmargs.append(jacocoArgLineTemplate.replace("@id@", group + ":" + target));
+        }
+        project.setUserProperty("vmargs", vmargs.toString());
+        ProjectHelper.configureProject(project, new File(group + "/build.xml"));
+        project.addBuildListener(logger);
+        project.executeTarget(target);
+    }
+    
+    void runServer(BuildLogger logger, int port) {
+        run(logger, port, "service." + sampleId);
+    }
+    
+    void runClient(BuildLogger logger, int port) {
+        run(logger, port, "client." + sampleId);
+    }
+}
diff --git a/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/SampleTest.java b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/SampleTest.java
new file mode 100644
index 0000000..1a1427b
--- /dev/null
+++ b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/SampleTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.rampart.samples.runner;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class SampleTest extends TestCase {
+    private final Sample sample;
+    
+    public SampleTest(String group, String id) {
+        super(group + "/" + id);
+        this.sample = new Sample(group, id);
+    }
+
+    @Override
+    protected void runTest() throws Throwable {
+        new Controller(sample).execute();
+    }
+
+    public static TestSuite suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new SampleTest("policy", "01"));
+        suite.addTest(new SampleTest("policy", "02"));
+        suite.addTest(new SampleTest("policy", "03"));
+        suite.addTest(new SampleTest("policy", "04"));
+        suite.addTest(new SampleTest("policy", "05"));
+        suite.addTest(new SampleTest("policy", "06"));
+        suite.addTest(new SampleTest("policy", "07"));
+        suite.addTest(new SampleTest("policy", "08"));
+        suite.addTest(new SampleTest("policy", "09"));
+        return suite;
+    }
+}
diff --git a/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/ServerRunner.java b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/ServerRunner.java
new file mode 100644
index 0000000..7f4b237
--- /dev/null
+++ b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/ServerRunner.java
@@ -0,0 +1,43 @@
+/*
+ * 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.rampart.samples.runner;
+
+import org.apache.tools.ant.BuildLogger;
+
+final class ServerRunner implements Runnable {
+    private final Controller controller;
+    private final Sample sample;
+    private final BuildLogger logger;
+    private final int port;
+
+    ServerRunner(Controller controller, Sample sample, BuildLogger logger, int port) {
+        this.controller = controller;
+        this.sample = sample;
+        this.logger = logger;
+        this.port = port;
+    }
+
+    public void run() {
+        try {
+            sample.runServer(logger, port);
+        } finally {
+            controller.serverStopped();
+        }
+    }
+}
diff --git a/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/ServerWatcher.java b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/ServerWatcher.java
new file mode 100644
index 0000000..d8d6e1f
--- /dev/null
+++ b/modules/rampart-samples/src/test/java/org/apache/rampart/samples/runner/ServerWatcher.java
@@ -0,0 +1,86 @@
+/*
+ * 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.rampart.samples.runner;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.ConnectException;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+final class ServerWatcher implements Runnable {
+    private final Controller controller;
+    private final URL url;
+    private boolean serverWasReady;
+    private boolean stopped;
+    
+    ServerWatcher(Controller controller, int port) {
+        this.controller = controller;
+        try {
+            url = new URL("http", "localhost", port, "/axis2/services/");
+        } catch (MalformedURLException ex) {
+            throw new Error("Unexpected exception", ex);
+        }
+    }
+    
+    public synchronized void run() {
+        while (true) {
+            if (stopped) {
+                return;
+            }
+            try {
+                HttpURLConnection connection = (HttpURLConnection)url.openConnection();
+                int responseCode = connection.getResponseCode();
+                InputStream in = connection.getInputStream();
+                try {
+                    byte[] buffer = new byte[1024];
+                    while (in.read(buffer) != -1) {
+                        // Just loop;
+                    }
+                } finally {
+                    in.close();
+                }
+                if (responseCode == 200) {
+                    if (!serverWasReady) {
+                        serverWasReady = true;
+                        controller.serverReady();
+                    }
+                }
+            } catch (ConnectException ex) {
+                if (serverWasReady) {
+                    controller.serverStopDetected();
+                    return;
+                }
+            } catch (IOException ex) {
+                // Just continue trying
+            }
+            try {
+                wait(100);
+            } catch (InterruptedException ex) {
+                return;
+            }
+        }
+    }
+
+    public synchronized void stop() {
+        stopped = true;
+        notifyAll();
+    }
+}
diff --git a/modules/rampart-tests/pom.xml b/modules/rampart-tests/pom.xml
index 2d2b615..9156d97 100644
--- a/modules/rampart-tests/pom.xml
+++ b/modules/rampart-tests/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -48,11 +48,9 @@
         </testResources>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
+                <artifactId>maven-deploy-plugin</artifactId>
                 <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
+                    <skip>true</skip>
                 </configuration>
             </plugin>
         </plugins>
@@ -82,20 +80,10 @@
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <configuration>
-                    <templateDirectory>${basedir}</templateDirectory>
-                    <menu ref="parent" />
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-
 </project>
diff --git a/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java b/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java
index cd99ffe..98cce91 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rahas/SimpleTokenStoreTest.java
@@ -23,9 +23,8 @@
 
 import junit.framework.TestCase;
 
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.util.Date;
@@ -156,7 +155,6 @@
 
     public void testSerialize()
         throws Exception {
-        String fileName = "test.ser";
 
         OMFactory factory = OMAbstractFactory.getOMFactory();
         OMNamespace ns1 = factory.createOMNamespace("bar", "x");
@@ -167,30 +165,13 @@
         SimpleTokenStore store = new SimpleTokenStore();
         store.add(t);
 
-        FileOutputStream fos = null;
-        ObjectOutputStream out = null;
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        ObjectOutputStream out = new ObjectOutputStream(baos);
 
-        try {
-            fos = new FileOutputStream(fileName);
-            out = new ObjectOutputStream(fos);
-            out.writeObject(store);
-        } finally {
-            out.close();
-        }
+        out.writeObject(store);
 
-        SimpleTokenStore store2 = null;
-        FileInputStream fis = null;
-        ObjectInputStream in = null;
-        try {
-            fis = new FileInputStream(fileName);
-            in = new ObjectInputStream(fis);
-            store2 = (SimpleTokenStore)in.readObject();
-            in.close();
-        } catch (IOException ex) {
-            ex.printStackTrace();
-        } catch (ClassNotFoundException ex) {
-            ex.printStackTrace();
-        }
+        ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()));
+        SimpleTokenStore store2 = (SimpleTokenStore)in.readObject();
 
         assertEquals(store.getToken("#1232122").getId(), store2.getToken("#1232122").getId());
         assertEquals(store.getToken("#1232122").getCreated(), store2.getToken("#1232122").getCreated());
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java
index fcb1674..0d8a2a0 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rampart/AsymmetricBindingBuilderTest.java
@@ -38,7 +38,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
 
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN));
@@ -59,7 +59,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
@@ -79,7 +79,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN));
@@ -102,7 +102,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN));
@@ -124,7 +124,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -148,7 +148,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -170,7 +170,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -191,7 +191,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS,WSConstants.BINARY_TOKEN_LN));
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java b/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java
index 528db6c..b8b16cb 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rampart/MessageBuilderTestBase.java
@@ -20,8 +20,6 @@
 import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.context.ConfigurationContext;
@@ -74,7 +72,7 @@
      * @throws AxisFault
      */
     protected MessageContext getMsgCtx12() throws Exception {
-        return initMsgCtxFromMessage("test-resources/policy/soapmessage.xml");
+        return initMsgCtxFromMessage("test-resources/policy/soapmessage12.xml");
     }
 
     /**
@@ -116,7 +114,7 @@
         return PolicyEngine.getPolicy(builder.getDocumentElement());
     }
 
-    protected void verifySecHeader(Iterator qnameList, SOAPEnvelope env) {
+    protected void verifySecHeader(Iterator<QName> qnameList, SOAPEnvelope env) {
         Iterator secHeaderChildren =
                 env.getHeader().
                         getFirstChildWithName(new QName(WSConstants.WSSE_NS,
@@ -139,16 +137,4 @@
                  "next expected element" + qnameList.next().toString());
         }
     }
-
-    public String getContentTypeForEnvelope(SOAPEnvelope env) {
-        String contentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;  //default
-        if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(env.getNamespace().getNamespaceURI())) {
-            contentType = SOAP11Constants.SOAP_11_CONTENT_TYPE;
-        }
-        else if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(env.getNamespace().getNamespaceURI())) {
-            contentType = SOAP12Constants.SOAP_12_CONTENT_TYPE;
-        }
-        return contentType;
-    }
-
 }
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/PolicyAssertionsTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/PolicyAssertionsTest.java
index 5d5a8ed..29c62be 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/PolicyAssertionsTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rampart/PolicyAssertionsTest.java
@@ -16,7 +16,9 @@
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.builder.SOAPBuilder;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisService;
 import org.apache.neethi.Policy;
+import org.apache.ws.security.handler.WSHandlerConstants;
 
 import java.io.ByteArrayInputStream;
 
@@ -80,4 +82,80 @@
         }
 
     }
+
+    public void testHashedPasswordRequiredValid() throws Exception {
+
+        MessageContext ctx = getMsgCtx();
+
+        String policyXml = "test-resources/policy/rampart-hashed-password.xml";
+        Policy policy = loadPolicy(policyXml);
+
+        ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
+
+        ctx.getOptions().setUserName( "Ron" );
+        ctx.getOptions().setPassword( "noR" );
+        
+        MessageBuilder builder = new MessageBuilder();
+        builder.build(ctx);
+
+        // Building the SOAP envelope from the OMElement
+        SOAPBuilder soapBuilder = new SOAPBuilder();
+        SOAPEnvelope env = ctx.getEnvelope();
+        ByteArrayInputStream inStream = new ByteArrayInputStream(env.toString().getBytes());
+        env = (SOAPEnvelope) soapBuilder.processDocument(inStream, "text/xml", ctx);
+        ctx.setEnvelope(env);
+
+        ctx.setServerSide(true);
+        AxisService axisService = ctx.getAxisService();            
+        axisService.removeParameter(axisService.getParameter(RampartMessageData.PARAM_CLIENT_SIDE));
+
+        ctx.setProperty(WSHandlerConstants.PW_CALLBACK_REF, new TestCBHandler());
+
+        RampartEngine engine = new RampartEngine();
+        engine.process(ctx);
+
+    }
+
+    public void testHashedPasswordRequiredInvalid() throws Exception {
+
+        MessageContext ctx = getMsgCtx();
+
+        String policyXml = "test-resources/policy/rampart-plaintext-password.xml";
+        Policy policy = loadPolicy(policyXml);
+
+        ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
+
+        ctx.getOptions().setUserName( "Ron" );
+        ctx.getOptions().setPassword( "noR" );
+        
+        MessageBuilder builder = new MessageBuilder();
+        builder.build(ctx);
+
+        // Building the SOAP envelope from the OMElement
+        SOAPBuilder soapBuilder = new SOAPBuilder();
+        SOAPEnvelope env = ctx.getEnvelope();
+        ByteArrayInputStream inStream = new ByteArrayInputStream(env.toString().getBytes());
+        env = (SOAPEnvelope) soapBuilder.processDocument(inStream, "text/xml", ctx);
+        ctx.setEnvelope(env);
+
+        ctx.setServerSide(true);
+        AxisService axisService = ctx.getAxisService();            
+        axisService.removeParameter(axisService.getParameter(RampartMessageData.PARAM_CLIENT_SIDE));
+
+        policyXml = "test-resources/policy/rampart-hashed-password.xml";
+        policy = loadPolicy(policyXml);
+
+        ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
+        ctx.setProperty(WSHandlerConstants.PW_CALLBACK_REF, new TestCBHandler());
+
+        RampartEngine engine = new RampartEngine();
+
+        try {
+            engine.process(ctx);
+            fail(" This should have thrown RampartException: Invalid UsernameToken Type.");
+        } catch (RampartException expected) {
+            // Ignore intentionally as the test is supposed to throw an exception
+        }
+
+    }
 }
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
index 95a1e25..77e54d7 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
@@ -26,74 +26,41 @@
 import org.apache.neethi.Policy;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSSecurityEngineResult;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
+@RunWith(JUnit4.class)
 public class RampartEngineTest extends MessageBuilderTestBase {
-
-    public RampartEngineTest(String name) {
-        super(name);
-    }
-
+    /**
+     * Tests that Rampart complains about missing security header in request.
+     * 
+     * @throws Exception
+     */
+    @Test(expected=RampartException.class)
     public void testEmptySOAPMessage() throws Exception {
-
-        try {
-            MessageContext ctx = getMsgCtx();
-
-            String policyXml = "test-resources/policy/rampart-asymm-binding-6-3des-r15.xml";
-            Policy policy = this.loadPolicy(policyXml);
-
-            ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
-
-            RampartEngine engine = new RampartEngine();
-            engine.process(ctx);
-        }
-        catch (RampartException e) {
-            assertEquals("Expected rampart to complain about missing security header",
-                         "Missing wsse:Security header in request", e.getMessage());
-        }
-    }
-
-    public void testValidSOAPMessage() throws Exception {
-
         MessageContext ctx = getMsgCtx();
 
         String policyXml = "test-resources/policy/rampart-asymm-binding-6-3des-r15.xml";
-        Policy policy = loadPolicy(policyXml);
+        Policy policy = this.loadPolicy(policyXml);
 
         ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
 
-        MessageBuilder builder = new MessageBuilder();
-        builder.build(ctx);
-
-        // Building the SOAP envelope from the OMElement
-        buildSOAPEnvelope(ctx);
-
         RampartEngine engine = new RampartEngine();
-        List<WSSecurityEngineResult> results = engine.process(ctx);
-
-        /*
-        The principle purpose of the test case is to verify that the above processes
-        without throwing an exception. However, perform a minimal amount of validation on the
-        results.
-        */
-        assertNotNull("RampartEngine returned null result", results);
-        //verify cert was stored
-        X509Certificate usedCert = null;
-        for (WSSecurityEngineResult result : results) {
-            Integer action = (Integer) result.get(WSSecurityEngineResult.TAG_ACTION);
-            if (action == WSConstants.SIGN) {
-                //the result is for the signature, which contains the used certificate
-                usedCert = (X509Certificate) result.get(WSSecurityEngineResult.TAG_X509_CERTIFICATE);
-                break;
-            }
-        }
-        assertNotNull("Result of processing did not include a certificate", usedCert);
+        engine.process(ctx);
     }
 
+    @Test
+    public void testValidSOAPMessage() throws Exception {
+        runRampartEngine(getMsgCtx(), "test-resources/policy/rampart-asymm-binding-6-3des-r15.xml");
+    }
+
+    @Test
     public void testValidSOAP12Message() throws Exception {
+        runRampartEngine(getMsgCtx12(), "test-resources/policy/rampart-asymm-binding-6-3des-r15.xml");
+    }
 
-        MessageContext ctx = getMsgCtx12();
-
-        String policyXml = "test-resources/policy/rampart-asymm-binding-6-3des-r15.xml";
+    private void runRampartEngine(MessageContext ctx, String policyXml) throws Exception {
         Policy policy = loadPolicy(policyXml);
 
         ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
@@ -130,7 +97,7 @@
         SOAPBuilder soapBuilder = new SOAPBuilder();
         SOAPEnvelope env = ctx.getEnvelope();
         ByteArrayInputStream inStream = new ByteArrayInputStream(env.toString().getBytes());
-        env = (SOAPEnvelope) soapBuilder.processDocument(inStream, getContentTypeForEnvelope(env), ctx);
+        env = (SOAPEnvelope) soapBuilder.processDocument(inStream, env.getVersion().getMediaType().toString(), ctx);
         ctx.setEnvelope(env);
     }
 }
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java
index e86a4ca..2f5b1df 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rampart/SymmetricBindingBuilderTest.java
@@ -17,7 +17,6 @@
 package org.apache.rampart;
 
 import java.util.ArrayList;
-import java.util.Vector;
 
 import javax.xml.namespace.QName;
 
@@ -40,7 +39,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -89,7 +88,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -113,7 +112,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -137,7 +136,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -159,7 +158,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
         
-        ArrayList list = new ArrayList();
+        ArrayList<QName> list = new ArrayList<QName>();
         
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java
index 6def58e..850af3e 100644
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/rampart/TransportBindingBuilderTest.java
@@ -38,7 +38,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
 
-        List list = new ArrayList();
+        List<QName> list = new ArrayList<QName>();
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.BINARY_TOKEN_LN));
@@ -57,7 +57,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
 
-        List list = new ArrayList();
+        List<QName> list = new ArrayList<QName>();
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
         list.add(new QName(WSConstants.SIG_NS, WSConstants.SIG_LN));
@@ -75,7 +75,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
 
-        List list = new ArrayList();
+        List<QName> list = new ArrayList<QName>();
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         list.add(new QName(WSConstants.WSSE_NS, WSConstants.USERNAME_TOKEN_LN));
         list.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_KEY_LN));
@@ -97,7 +97,7 @@
         MessageBuilder builder = new MessageBuilder();
         builder.build(ctx);
 
-        List list = new ArrayList();
+        List<QName> list = new ArrayList<QName>();
         list.add(new QName(WSConstants.WSU_NS, WSConstants.TIMESTAMP_TOKEN_LN));
         this.verifySecHeader(list.iterator(), ctx.getEnvelope());
     }
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/handler/config/InflowConfigurationTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/handler/config/InflowConfigurationTest.java
deleted file mode 100644
index 4f2ca7b..0000000
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/handler/config/InflowConfigurationTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler.config;
-
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-import junit.framework.TestCase;
-
-public class InflowConfigurationTest extends TestCase {
-
-	public InflowConfigurationTest() {
-		super();
-	}
-
-	public InflowConfigurationTest(String name) {
-		super(name);
-	}
-	
-	public void testGetProperty() {
-		String actionItems = "Timestamp Signature Encrypt";
-		String sigPropFile = "sig.properties";
-		String decPropFile = "enc.properties";
-		String pwcb = "org.apache.axis2.security.PWCallback";
-		
-		InflowConfiguration ifc = new InflowConfiguration();
-		
-		ifc.setActionItems(actionItems);
-		ifc.setSignaturePropFile(sigPropFile);
-		ifc.setDecryptionPropFile(decPropFile);
-		ifc.setPasswordCallbackClass(pwcb);
-		
-		// Check whether the props are there
-		assertTrue("Action items missing", -1 < ifc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSSHandlerConstants.ACTION_ITEMS + ">"
-								+ actionItems + "</"
-								+ WSSHandlerConstants.ACTION_ITEMS + ">"));
-		
-		assertTrue("passwordCallbackClass missing", -1 < ifc.getProperty().getParameterElement()
-				.toString().indexOf(
-						"<" + WSHandlerConstants.PW_CALLBACK_CLASS + ">" + pwcb
-								+ "</" + WSHandlerConstants.PW_CALLBACK_CLASS
-								+ ">"));
-
-		assertTrue("sigPropFile missing", -1 < ifc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.SIG_PROP_FILE + ">"
-								+ sigPropFile + "</"
-								+ WSHandlerConstants.SIG_PROP_FILE + ">"));
-		
-		assertTrue("decPropFile missing", -1 < ifc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.DEC_PROP_FILE + ">"
-								+ decPropFile + "</"
-								+ WSHandlerConstants.DEC_PROP_FILE + ">"));
-	}
-
-}
diff --git a/modules/rampart-tests/src/test/java/org/apache/rampart/handler/config/OutflowConfigurationTest.java b/modules/rampart-tests/src/test/java/org/apache/rampart/handler/config/OutflowConfigurationTest.java
deleted file mode 100644
index 01f786a..0000000
--- a/modules/rampart-tests/src/test/java/org/apache/rampart/handler/config/OutflowConfigurationTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed 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.rampart.handler.config;
-
-import junit.framework.TestCase;
-import org.apache.rampart.handler.WSSHandlerConstants;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-/**
- * Tests the org.apache.axis2.security.handler.config.OutflowConfiguration
- */
-public class OutflowConfigurationTest extends TestCase {
-
-	public OutflowConfigurationTest() {
-		super();
-	}
-
-	public OutflowConfigurationTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * This sets all the possible properties that can be set with 
-	 * the outflow configuration
-	 */
-	public void testGetProperty() {
-
-		OutflowConfiguration ofc = new OutflowConfiguration();
-
-		String actionItems = "Timestamp Signature Encrypt";
-		String user = "alice";
-		String pwcb = "org.apache.axis2.security.PWCallback";
-		String sigKeyId = "interop.properties";
-		String sigParts = "{Element}{http://schemas.xmlsoap.org/ws/2004/08/"
-				+ "addressing}MessageID;{Element}{http://docs.oasis-open.org/wss/"
-				+ "2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp";
-		String optimizeParts = "//xenc:EncryptedData/xenc:CipherData/xenc:CipherValue";
-		String embeddedKeyCallbackClass = "org.apache.axis2.security.PWCallback";
-		String encrUser = "bob";
-		String samlPropFile = "saml.properties";
-		String sigPropFile = "sig.properties";
-		String encPropFile = "enc.properties";
-
-		// Setting the properties in the ofc
-		ofc.setActionItems(actionItems);
-		ofc.setUser(user);
-		ofc.setPasswordCallbackClass(pwcb);
-		ofc.setSignatureKeyIdentifier(sigKeyId);
-		ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.SKI_KEY_IDENTIFIER);
-		ofc.setSignatureParts(sigParts);
-		ofc.setOptimizeParts(optimizeParts);
-		ofc.setEmbeddedKeyCallbackClass(embeddedKeyCallbackClass);
-		ofc.setEncryptionKeyTransportAlgorithm(WSConstants.KEYTRANSPORT_RSA15);
-		ofc.setEncryptionSymAlgorithm(WSConstants.AES_128);
-		ofc.setEncryptionUser(encrUser);
-		ofc.setPasswordType(WSConstants.PW_DIGEST);
-		ofc.setSamlPropFile(samlPropFile);
-		ofc.setSignaturePropFile(sigPropFile);
-		ofc.setEncryptionPropFile(encPropFile);
-
-		// Check whether the props are there
-		assertTrue("Action items missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSSHandlerConstants.ACTION_ITEMS + ">"
-								+ actionItems + "</"
-								+ WSSHandlerConstants.ACTION_ITEMS + ">"));
-
-		assertTrue("User missing", -1 < ofc.getProperty().getParameterElement().toString().indexOf(
-				"<" + WSHandlerConstants.USER + ">" + user + "</"
-						+ WSHandlerConstants.USER + ">"));
-
-		assertTrue("passwordCallbackClass missing", -1 < ofc.getProperty().getParameterElement()
-				.toString().indexOf(
-						"<" + WSHandlerConstants.PW_CALLBACK_CLASS + ">" + pwcb
-								+ "</" + WSHandlerConstants.PW_CALLBACK_CLASS
-								+ ">"));
-
-		assertTrue("sigKeyId missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.SIG_KEY_ID + ">" + sigKeyId
-								+ "</" + WSHandlerConstants.SIG_KEY_ID + ">"));
-
-		assertTrue("encKeyId missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.ENC_KEY_ID + ">"
-								+ WSSHandlerConstants.SKI_KEY_IDENTIFIER + "</"
-								+ WSHandlerConstants.ENC_KEY_ID + ">"));
-
-		assertTrue("signature parts missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.SIGNATURE_PARTS + ">"
-								+ sigParts + "</"
-								+ WSHandlerConstants.SIGNATURE_PARTS + ">"));
-
-		assertTrue("optimize parts missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSSHandlerConstants.OPTIMIZE_PARTS + ">"
-								+ optimizeParts + "</"
-								+ WSSHandlerConstants.OPTIMIZE_PARTS + ">"));
-
-		assertTrue("EmbeddedKeyCallbackClass missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.ENC_CALLBACK_CLASS + ">"
-								+ embeddedKeyCallbackClass + "</"
-								+ WSHandlerConstants.ENC_CALLBACK_CLASS + ">"));
-
-		assertTrue("encryptionKeyTransportAlgorithm missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.ENC_KEY_TRANSPORT + ">"
-								+ WSConstants.KEYTRANSPORT_RSA15 + "</"
-								+ WSHandlerConstants.ENC_KEY_TRANSPORT + ">"));
-
-		assertTrue("encryptionSymAlgorithm missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.ENC_SYM_ALGO + ">"
-								+ WSConstants.AES_128 + "</"
-								+ WSHandlerConstants.ENC_SYM_ALGO + ">"));
-
-		assertTrue("encrUser missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.ENCRYPTION_USER + ">"
-								+ encrUser + "</"
-								+ WSHandlerConstants.ENCRYPTION_USER + ">"));
-
-		assertTrue("passwordType missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.PASSWORD_TYPE + ">"
-								+ WSConstants.PW_DIGEST + "</"
-								+ WSHandlerConstants.PASSWORD_TYPE + ">"));
-
-		assertTrue("samlPropFile missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.SAML_PROP_FILE + ">"
-								+ samlPropFile + "</"
-								+ WSHandlerConstants.SAML_PROP_FILE + ">"));
-
-		assertTrue("sigPropFile missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.SIG_PROP_FILE + ">"
-								+ sigPropFile + "</"
-								+ WSHandlerConstants.SIG_PROP_FILE + ">"));
-		assertTrue("encPropFile missing", -1 < ofc.getProperty().getParameterElement().toString()
-				.indexOf(
-						"<" + WSHandlerConstants.ENC_PROP_FILE + ">"
-								+ encPropFile + "</"
-								+ WSHandlerConstants.ENC_PROP_FILE + ">"));
-	}
-	
-	/**
-	 * This tests multiple action configurations
-	 */
-	public void testMultipleActions() {
-		OutflowConfiguration ofc = new OutflowConfiguration(2);
-
-		String actionItems1 = "Timestamp Signature Encrypt";
-		String user1 = "alice";
-
-		String actionItems2 = "Signature Encrypt Timestamp";
-		String user2 = "alice2";
-		
-		ofc.setActionItems(actionItems1);
-		ofc.setUser(user1);
-		
-		ofc.nextAction();
-		
-		ofc.setActionItems(actionItems2);
-		ofc.setUser(user2);
-
-		assertEquals("Action items mismatch", actionItems2, ofc.getActionItems());
-		assertEquals("Action items mismatch", user2, ofc.getUser());
-		
-		ofc.previousAction();
-		
-		assertEquals("Action items mismatch", actionItems1, ofc.getActionItems());
-		assertEquals("Action items mismatch", user1, ofc.getUser());
-		
-	}
-
-}
diff --git a/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java b/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java
index acefd3e..e2d9c89 100644
--- a/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java
+++ b/modules/rampart-tests/src/test/java/org/apache/ws/secpolicy/model/SecpolicyModelTest.java
@@ -35,12 +35,12 @@
     
     public void testSymmBinding() throws Exception {
         Policy p = this.getPolicy("test-resources/policy-symm-binding.xml");
-        List assertions = (List)p.getAlternatives().next();
+        List<Assertion> assertions = (List<Assertion>)p.getAlternatives().next();
         
         boolean symmBindingFound = false;
         
-        for (Iterator iter = assertions.iterator(); iter.hasNext();) {
-            Assertion assertion = (Assertion) iter.next();
+        for (Iterator<Assertion> iter = assertions.iterator(); iter.hasNext();) {
+            Assertion assertion = iter.next();
             if(assertion instanceof SymmetricBinding) {
                 symmBindingFound = true;
                 SymmetricBinding binding = (SymmetricBinding)assertion;
@@ -67,11 +67,22 @@
     public void testAsymmBinding() throws Exception {
         this.getPolicy("test-resources/policy-asymm-binding.xml");
     }
-    
+
     public void testTransportBinding() throws Exception {
         this.getPolicy("test-resources/policy-transport-binding.xml");
     }
     
+    public void testSymmBindingWithBothProtectionTokenAndEncryptionToken() throws Exception {
+    	boolean exceptionThrown = false;
+    	try {
+    		this.getPolicy("test-resources/policy-symm-binding-fault1.xml");
+    	} catch (IllegalArgumentException e) {
+    		exceptionThrown = true;
+    	}
+    	assertTrue("Policy cannot contain both ProtectionToken and EncryptionToken",
+    			exceptionThrown);
+    }
+    
     private Policy getPolicy(String filePath) throws Exception {
         OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(new FileInputStream(filePath));
         OMElement elem = builder.getDocumentElement();
diff --git a/modules/rampart-tests/test-resources/axis2.xml b/modules/rampart-tests/test-resources/axis2.xml
index 2219d74..48eb3b1 100644
--- a/modules/rampart-tests/test-resources/axis2.xml
+++ b/modules/rampart-tests/test-resources/axis2.xml
@@ -20,7 +20,7 @@
     <parameter name="passwordCallbackClass" locked="false">
         org.apache.axis2.security.PWCallback</parameter>
 
-    <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+    <transportSender name="http" class="org.apache.axis2.transport.http.impl.httpclient4.HTTPClient4TransportSender">
         <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
     </transportSender>
 
diff --git a/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml b/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml
new file mode 100644
index 0000000..aa19666
--- /dev/null
+++ b/modules/rampart-tests/test-resources/policy-symm-binding-fault1.xml
@@ -0,0 +1,64 @@
+<wsp:Policy wsu:Id="3" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+	<wsp:ExactlyOne>
+		<wsp:All>
+			<sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<wsp:Policy>
+					<sp:ProtectionToken>
+						<wsp:Policy>
+							<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+								<wsp:Policy>
+									<sp:RequireDerivedKeys/>
+									<sp:RequireThumbprintReference/>
+									<sp:WssX509V3Token10/>
+								</wsp:Policy>
+							</sp:X509Token>
+						</wsp:Policy>
+					</sp:ProtectionToken>
+					<sp:EncryptionToken>
+						<wsp:Policy>
+							<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
+								<wsp:Policy>
+									<sp:RequireDerivedKeys/>
+									<sp:RequireThumbprintReference/>
+									<sp:WssX509V3Token10/>
+								</wsp:Policy>
+							</sp:X509Token>
+						</wsp:Policy>
+					</sp:EncryptionToken>
+					<sp:AlgorithmSuite>
+						<wsp:Policy>
+							<sp:Basic128/>
+						</wsp:Policy>
+					</sp:AlgorithmSuite>
+					<sp:Layout>
+						<wsp:Policy>
+							<sp:Strict/>
+						</wsp:Policy>
+					</sp:Layout>
+					<sp:IncludeTimestamp/>
+					<sp:EncryptSignature/>
+					<sp:OnlySignEntireHeadersAndBody/>
+				</wsp:Policy>
+			</sp:SymmetricBinding>
+			<sp:EndorsingSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<wsp:Policy>
+					<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
+						<wsp:Policy>
+							<sp:RequireThumbprintReference/>
+							<sp:WssX509V3Token10/>
+						</wsp:Policy>
+					</sp:X509Token>
+				</wsp:Policy>
+			</sp:EndorsingSupportingTokens>
+			<sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+				<wsp:Policy>
+					<sp:MustSupportRefKeyIdentifier/>
+					<sp:MustSupportRefIssuerSerial/>
+					<sp:MustSupportRefThumbprint/>
+					<sp:MustSupportRefEncryptedKey/>
+					<sp:RequireSignatureConfirmation/>
+				</wsp:Policy>
+			</sp:Wss11>
+		</wsp:All>
+	</wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-tests/test-resources/policy/rampart-hashed-password.xml b/modules/rampart-tests/test-resources/policy/rampart-hashed-password.xml
new file mode 100644
index 0000000..7a250df
--- /dev/null
+++ b/modules/rampart-tests/test-resources/policy/rampart-hashed-password.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsp:Policy wsu:Id="UTOverTransport"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+  <wsp:ExactlyOne>
+    <wsp:All>
+      <sp:SignedSupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+        <wsp:Policy>
+          <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+            <wsp:Policy>
+              <sp:HashPassword/>
+            </wsp:Policy>
+          </sp:UsernameToken>
+        </wsp:Policy>
+      </sp:SignedSupportingTokens>
+    </wsp:All>
+  </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-tests/test-resources/policy/rampart-plaintext-password.xml b/modules/rampart-tests/test-resources/policy/rampart-plaintext-password.xml
new file mode 100644
index 0000000..05b9cac
--- /dev/null
+++ b/modules/rampart-tests/test-resources/policy/rampart-plaintext-password.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsp:Policy wsu:Id="UTOverTransport"
+            xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
+            xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+  <wsp:ExactlyOne>
+    <wsp:All>
+      <sp:SignedSupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
+        <wsp:Policy>
+          <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"/>
+        </wsp:Policy>
+      </sp:SignedSupportingTokens>
+    </wsp:All>
+  </wsp:ExactlyOne>
+</wsp:Policy>
diff --git a/modules/rampart-tests/test-resources/policy/soapmessage12.xml b/modules/rampart-tests/test-resources/policy/soapmessage12.xml
new file mode 100644
index 0000000..c8e5d0b
--- /dev/null
+++ b/modules/rampart-tests/test-resources/policy/soapmessage12.xml
@@ -0,0 +1,57 @@
+<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
+                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+                  xmlns:axis2="http://ws.apache.org/namespaces/axis2">
+    <soapenv:Header xmlns:fabrikam="http://example.com/fabrikam">
+        <wsa:MessageID soapenv:mustUnderstand="0">
+            uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5</wsa:MessageID>
+        <wsa:To soapenv:mustUnderstand="0">http://localhost:8081/axis/services/BankPort</wsa:To>
+        <wsa:From axis2:AttrExt="123456789" soapenv:mustUnderstand="0" >
+            <wsa:Address>
+                http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
+            <wsa:ReferenceParameters>
+                <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
+            </wsa:ReferenceParameters>
+            <wsa:ReferenceProperties>
+                <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
+            </wsa:ReferenceProperties>
+            <axis2:EPRExt axis2:AttrExt="123456789">123456789</axis2:EPRExt>
+        </wsa:From>
+        <wsa:Action>http://ws.apache.org/tests/action</wsa:Action>
+        <wsa:ReplyTo axis2:AttrExt="123456789">
+            <wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
+            <wsa:ReferenceParameters>
+                <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
+            </wsa:ReferenceParameters>
+            <wsa:ReferenceProperties>
+                <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
+            </wsa:ReferenceProperties>
+            <axis2:EPRExt axis2:AttrExt="123456789">123456789</axis2:EPRExt>
+        </wsa:ReplyTo>
+        
+        <wsa:FaultTo axis2:AttrExt="123456789">
+            <wsa:Address>http://example.com/fabrikam/fault</wsa:Address>
+            <wsa:ReferenceParameters>
+                <fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
+            </wsa:ReferenceParameters>
+            <wsa:ReferenceProperties>
+                <fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
+            </wsa:ReferenceProperties>
+            <axis2:EPRExt axis2:AttrExt="123456789">123456789</axis2:EPRExt>
+        </wsa:FaultTo>
+        <wsa:RelatesTo>http://some.previous.message</wsa:RelatesTo>
+        <wsa:RelatesTo RelationshipType="axis2:some.custom.relationship">http://identifier.of.other.message/</wsa:RelatesTo>
+        
+    </soapenv:Header>
+    <soapenv:Body>
+        <ns1:getBalance soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                        xmlns:ns1="http://localhost:8081/axis/services/BankPort">
+            <accountNo href="#id0"/>
+        </ns1:getBalance>
+        <multiRef id="id0" soapenc:root="0"
+                  soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                  xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+            1001</multiRef>
+    </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file
diff --git a/modules/rampart-trust-mar/pom.xml b/modules/rampart-trust-mar/pom.xml
index f08bcf7..c5de97e 100644
--- a/modules/rampart-trust-mar/pom.xml
+++ b/modules/rampart-trust-mar/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     
@@ -35,30 +35,9 @@
     <packaging>mar</packaging>
     <name>Rampart - Trust-Mar</name>
 
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/rampart/trunk</connection>
-        <developerConnection>
-            scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/rampart/trunk</developerConnection>
-        <url>http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk</url>
-    </scm>
-
     <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-            </resource>
-        </resources>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.axis2</groupId>
                 <artifactId>axis2-mar-maven-plugin</artifactId>
                 <extensions>true</extensions>
diff --git a/modules/rampart-trust/pom.xml b/modules/rampart-trust/pom.xml
index adf100c..a4b5452 100644
--- a/modules/rampart-trust/pom.xml
+++ b/modules/rampart-trust/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.rampart</groupId>
         <artifactId>rampart-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
+        <version>1.8.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -35,31 +35,8 @@
     <name>Rampart - Trust</name>
 
     <build>
-        <sourceDirectory>src/main/java</sourceDirectory>
-        <resources>
-            <resource>
-                <directory>src/main/java</directory>
-                <excludes>
-                    <exclude>**/*.java</exclude>                     
-                </excludes>
-            </resource>
-        </resources> 
-        <testResources>
-            <testResource>
-                <directory>${project.basedir}/src/test/resources</directory>
-            </testResource>
-        </testResources>
-
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-            <plugin>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <!--configuration>
                         <includes>
@@ -82,6 +59,28 @@
             <scope>runtime</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.ws.security</groupId>
+            <artifactId>wss4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opensaml</groupId>
+            <artifactId>opensaml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>xalan</groupId>
+            <artifactId>xalan</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-log4j12</artifactId>
             <scope>test</scope>
@@ -92,19 +91,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <configuration>
-                    <templateDirectory>${basedir}</templateDirectory>
-                    <menu ref="parent" />
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-
 </project>
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java b/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
index 7194688..2f0b906 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
@@ -19,7 +19,7 @@
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMXMLBuilderFactory;
-import org.apache.axiom.om.util.Base64;
+import org.apache.axiom.util.base64.Base64Utils;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.context.MessageContext;
 import org.apache.ws.security.WSConstants;
@@ -395,7 +395,7 @@
             OMElement binSecElem = entropyElem.getFirstElement();
             if (binSecElem != null && binSecElem.getText() != null
                 && !"".equals(binSecElem.getText())) {
-                this.requestEntropy = Base64.decode(binSecElem.getText());
+                this.requestEntropy = Base64Utils.decode(binSecElem.getText());
             } else {
                 throw new TrustException("malformedEntropyElement",
                                          new String[]{entropyElem.toString()});
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java b/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
index 944ad45..553af5f 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/STSMessageReceiver.java
@@ -39,7 +39,7 @@
                     .getParameter(TokenRequestDispatcherConfig.CONFIG_PARAM_KEY);
             Parameter paramFile = inMessage
                     .getParameter(TokenRequestDispatcherConfig.CONFIG_FILE_KEY);
-            TokenRequestDispatcher dispatcher = null;
+            TokenRequestDispatcher dispatcher;
             if (param != null) {
                 dispatcher = new TokenRequestDispatcher(param
                         .getParameterElement().getFirstChildWithName(
@@ -53,12 +53,8 @@
                                 .getProperty(TokenRequestDispatcherConfig.CONFIG_PARAM_KEY));
             }
             
-            if(dispatcher != null) {
-                SOAPEnvelope responseEnv = dispatcher.handle(inMessage, outMessage);
-                outMessage.setEnvelope(responseEnv);
-            } else {
-                throw new TrustException("missingDispatcherConfiguration");
-            }
+            SOAPEnvelope responseEnv = dispatcher.handle(inMessage, outMessage);
+			outMessage.setEnvelope(responseEnv);
         } catch (TrustException e) {
             e.printStackTrace();
             //Log the exception
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java b/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java
index 61ebc08..74e0e56 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/SimpleTokenStore.java
@@ -23,7 +23,12 @@
 import javax.xml.namespace.QName;
 
 import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -86,17 +91,13 @@
     }
 
     public String[] getTokenIdentifiers() throws TrustException {       
-        List identifiers = new ArrayList();
-        
         readLock.lock();
         try {
-            for (Iterator iterator = tokens.keySet().iterator(); iterator.hasNext();) {
-                identifiers.add(iterator.next());
-            }
+            Set identifiers = tokens.keySet();
+            return (String[]) identifiers.toArray(new String[identifiers.size()]);
         } finally {
             readLock.unlock();
         }
-        return (String[]) identifiers.toArray(new String[identifiers.size()]);
     }
 
     public Token[] getValidTokens() throws TrustException {
@@ -116,8 +117,7 @@
         return getTokens(Token.EXPIRED);
     }
 
-    private Token[] getTokens(int[] states) throws TrustException {
-        processTokenExpiry();
+    private Token[] getTokens(int... states) throws TrustException {
         List tokens = new ArrayList();
         
         readLock.lock();
@@ -125,6 +125,7 @@
         try {
             for (Iterator iterator = this.tokens.values().iterator(); iterator.hasNext();) {
                 Token token = (Token) iterator.next();
+                processTokenExpiry(token);
                 for (int i = 0; i < states.length; i++) {
                     if (token.getState() == states[i]) {
                         tokens.add(token);
@@ -138,28 +139,7 @@
         return (Token[]) tokens.toArray(new Token[tokens.size()]);
     }
 
-    private Token[] getTokens(int state) throws TrustException {
-        processTokenExpiry();
-        List tokens = new ArrayList();
-        
-        readLock.lock();
-        
-        try {
-            for (Iterator iterator = this.tokens.values().iterator(); iterator.hasNext();) {
-                Token token = (Token) iterator.next();
-                if (token.getState() == state) {
-                    tokens.add(token);
-                }
-            }
-        } finally {
-            readLock.unlock();
-        }
-        return (Token[]) tokens.toArray(new Token[tokens.size()]);
-    }
-
     public Token getToken(String id) throws TrustException {
-        processTokenExpiry();
-        
         readLock.lock();
         
         Token token;
@@ -172,6 +152,7 @@
                 //Try to find the token using attached refs & unattached refs
                 for (Iterator iterator = this.tokens.values().iterator(); iterator.hasNext();) {
                     Token tempToken = (Token) iterator.next();
+                    processTokenExpiry(tempToken);
                     OMElement elem = tempToken.getAttachedReference();
                     if(elem != null && id.equals(this.getIdFromSTR(elem))) {
                         token = tempToken;
@@ -182,7 +163,8 @@
                     }
                     
                 }
-                
+            } else {
+                processTokenExpiry(token);
             }
         
         } finally {
@@ -202,20 +184,10 @@
         }        
     }
     
-    protected void processTokenExpiry() throws TrustException {
-        
-        readLock.lock();
-        
-        try {
-            for (Iterator iterator = tokens.values().iterator(); iterator.hasNext();) {
-                Token token = (Token) iterator.next();
-                if (token.getExpires() != null &&
-                    token.getExpires().getTime() < System.currentTimeMillis()) {
-                    token.setState(Token.EXPIRED);
-                }
-            }
-        } finally {
-            readLock.unlock();
+    protected void processTokenExpiry(Token token) throws TrustException {
+        if (token.getExpires() != null &&
+            token.getExpires().getTime() < System.currentTimeMillis()) {
+            token.setState(Token.EXPIRED);
         }
     }
     
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java b/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
index 200b48c..2416a5b 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java
@@ -20,9 +20,9 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.Base64;
+import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.axiom.util.base64.Base64Utils;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
@@ -474,10 +474,10 @@
                                                           BINARY_SECRET))) {
                 //First check for the binary secret
                 String b64Secret = child.getText();
-                secret = Base64.decode(b64Secret);
+                secret = Base64Utils.decode(b64Secret);
             } else if (child.getQName().equals(new QName(ns, WSConstants.ENC_KEY_LN))) {
 
-                Element domChild = (Element) new StAXOMBuilder(
+                Element domChild = (Element)OMXMLBuilderFactory.createStAXOMBuilder(
                         OMAbstractFactory.getMetaFactory(
                                 OMAbstractFactory.FEATURE_DOM).getOMFactory(),
                         child.getXMLStreamReader()).getDocumentElement();
@@ -505,7 +505,7 @@
                 if (binSecElem != null && binSecElem.getText() != null
                     && !"".equals(binSecElem.getText().trim())) {
 
-                    byte[] serviceEntr = Base64.decode(binSecElem.getText());
+                    byte[] serviceEntr = Base64Utils.decode(binSecElem.getText());
 
                     //Right now we only use PSHA1 as the computed key algo                    
                     P_SHA1 p_sha1 = new P_SHA1();
@@ -718,10 +718,10 @@
                     this.requestorEntropy =
                             WSSecurityUtil.generateNonce(this.algorithmSuite.
                                     getMaximumSymmetricKeyLength()/8);
-                    binSec.setText(Base64.encode(this.requestorEntropy));
+                    binSec.setText(Base64Utils.encode(this.requestorEntropy));
 
                     if (log.isDebugEnabled()) {
-                        log.debug("Clien entropy : " + Base64.encode(this.requestorEntropy));
+                        log.debug("Clien entropy : " + Base64Utils.encode(this.requestorEntropy));
                     }
 
                     // Add the ComputedKey element
@@ -744,10 +744,10 @@
                     this.requestorEntropy =
                             WSSecurityUtil.generateNonce(this.algorithmSuite.
                                     getMaximumSymmetricKeyLength()/8);
-                    binSec.setText(Base64.encode(this.requestorEntropy));
+                    binSec.setText(Base64Utils.encode(this.requestorEntropy));
 
                     if (log.isDebugEnabled()) {
-                        log.debug("Clien entropy : " + Base64.encode(this.requestorEntropy));
+                        log.debug("Clien entropy : " + Base64Utils.encode(this.requestorEntropy));
                     }
 
                     // Add the ComputedKey element
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
index 8d7b312..2e32a92 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
@@ -136,7 +136,7 @@
      *       <wst:TokenType>...</wst:TokenType>
      *       <wst:RequestedSecurityToken>...</wst:RequestedSecurityToken>
      *       ...
-     *       <wsp:AppliesTo xmlns:wsp="...”>...</wsp:AppliesTo>
+     *       <wsp:AppliesTo xmlns:wsp="...">...</wsp:AppliesTo>
      *       <wst:RequestedAttachedReference>
      *       ...
      *       </wst:RequestedAttachedReference>
@@ -359,7 +359,7 @@
      *           ...
      *       </saml2:NameID>
      *       <saml2:SubjectConfirmation
-     *               Method=”urn:oasis:names:tc:SAML:2.0:cm:holder-of-key”>
+     *               Method="urn:oasis:names:tc:SAML:2.0:cm:holder-of-key">
      *           <saml2:SubjectConfirmationData
      *                   xsi:type="saml2:KeyInfoConfirmationDataType">
      *               <ds:KeyInfo>
@@ -441,8 +441,8 @@
      * <saml:Subject>
      *       <saml:NameIdentifier
      *                   NameQualifier="www.example.com"
-     *                   Format=“urn:oasis:names:tc:SAML:1.1:nameid-
-     *           format:X509SubjectName”>
+     *                   Format="urn:oasis:names:tc:SAML:1.1:nameid-
+     *           format:X509SubjectName">
      *           uid=joe,ou=people,ou=saml-demo,o=baltimore.com
      *       </saml:NameIdentifier>
      *       <saml:SubjectConfirmation>
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SCTIssuerConfig.java b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SCTIssuerConfig.java
index 5d0f231..891c2fc 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SCTIssuerConfig.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SCTIssuerConfig.java
@@ -17,7 +17,8 @@
 package org.apache.rahas.impl;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.rahas.TrustException;
 
 import javax.xml.namespace.QName;
@@ -68,10 +69,10 @@
     public static SCTIssuerConfig load(String configFilePath)
             throws TrustException {
         FileInputStream fis;
-        StAXOMBuilder builder;
+        OMXMLParserWrapper builder;
         try {
             fis = new FileInputStream(configFilePath);
-            builder = new StAXOMBuilder(fis);
+            builder = OMXMLBuilderFactory.createOMBuilder(fis);
         } catch (Exception e) {
             throw new TrustException("errorLoadingConfigFile",
                     new String[] { configFilePath });
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenCancelerConfig.java b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenCancelerConfig.java
index a125c23..bddc9ba 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenCancelerConfig.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenCancelerConfig.java
@@ -16,7 +16,8 @@
 package org.apache.rahas.impl;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.rahas.TrustException;
 
 import javax.xml.namespace.QName;
@@ -68,10 +69,10 @@
     public static TokenCancelerConfig load(String configFilePath)
             throws TrustException {
         FileInputStream fis;
-        StAXOMBuilder builder;
+        OMXMLParserWrapper builder;
         try {
             fis = new FileInputStream(configFilePath);
-            builder = new StAXOMBuilder(fis);
+            builder = OMXMLBuilderFactory.createOMBuilder(fis);
         } catch (Exception e) {
             throw new TrustException("errorLoadingConfigFile", new String[] { configFilePath });
         }
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenIssuerUtil.java b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenIssuerUtil.java
index 620d078..27319cf 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenIssuerUtil.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/TokenIssuerUtil.java
@@ -18,7 +18,7 @@
 import java.security.SecureRandom;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.util.Base64;
+import org.apache.axiom.util.base64.Base64Utils;
 import org.apache.rahas.RahasConstants;
 import org.apache.rahas.RahasData;
 import org.apache.rahas.Token;
@@ -94,7 +94,7 @@
             //set the RPT to include a ComputedKey element
 
             OMElement respEntrElem = TrustUtil.createEntropyElement(wstVersion, rstrElem);
-            String entr = Base64.encode(data.getResponseEntropy());
+            String entr = Base64Utils.encode(data.getResponseEntropy());
             OMElement binSecElem = TrustUtil.createBinarySecretElement(wstVersion,
                                                             respEntrElem,
                                                             RahasConstants.BIN_SEC_TYPE_NONCE);
@@ -141,7 +141,7 @@
                 OMElement binSecElem = TrustUtil.createBinarySecretElement(wstVersion,
                                                                            reqProofTokElem,
                                                                            null);
-                binSecElem.setText(Base64.encode(secret));
+                binSecElem.setText(Base64Utils.encode(secret));
                 token.setSecret(secret);
             } else {
                 throw new IllegalArgumentException(config.proofKeyType);
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java
index 01e0676..dd58343 100644
--- a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java
+++ b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java
@@ -1,5 +1,6 @@
 package org.apache.rahas.impl.util;
 
+import org.apache.axiom.util.UIDGenerator;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.rahas.RahasConstants;
@@ -25,8 +26,6 @@
 import org.opensaml.xml.security.SecurityHelper;
 import org.opensaml.xml.security.credential.Credential;
 import org.opensaml.xml.signature.*;
-import org.opensaml.xml.signature.KeyInfo;
-import org.opensaml.xml.signature.X509Data;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -386,7 +385,7 @@
      * This method creates the final SAML assertion. The final SAML assertion would looks like as follows,
      *  <saml:Assertion  AssertionID="_a75adf55-01d7-40cc-929f-dbd8372ebdfc"
      *                   IssueInstant="2003-04-17T00:46:02Z"
-     *                   Issuer=”www.opensaml.org”
+     *                   Issuer="www.opensaml.org"
      *                   MajorVersion="1"
      *                   MinorVersion="1"
      *                   xmlns="urn:oasis:names:tc:SAML:1.0:assertion">
@@ -436,7 +435,8 @@
         assertion.setIssuer(issuerName);
         assertion.setConditions(SAMLUtils.createConditions(notBefore, notOnOrAfter));
         assertion.getStatements().addAll(statements);
-
+        assertion.setID(UIDGenerator.generateUID());
+        assertion.setIssueInstant(new DateTime());
         return assertion;
     }
 
@@ -565,7 +565,7 @@
         // Encoding type set to http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0
         // #Base64Binary
         keyIdentifier.setEncodingType(KeyIdentifier.ENCODING_TYPE_BASE64_BINARY);
-        keyIdentifier.setValueType(WSSecurityConstants.THUMB_PRINT_SHA1);
+        keyIdentifier.setValueType(WSSecurityConstants.WS_SECURITY11_NS+"#ThumbprintSHA1");
         keyIdentifier.setValue(getThumbprintSha1(certificate));
 
         securityTokenReference.getUnknownXMLObjects().add(keyIdentifier);
diff --git a/modules/rampart-trust/src/main/java/org/apache/rahas/errors.properties b/modules/rampart-trust/src/main/resources/org/apache/rahas/errors.properties
similarity index 100%
rename from modules/rampart-trust/src/main/java/org/apache/rahas/errors.properties
rename to modules/rampart-trust/src/main/resources/org/apache/rahas/errors.properties
diff --git a/pom.xml b/pom.xml
index 4666ecf..75a4a3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>8</version>
+        <version>17</version>
     </parent>
 
     <groupId>org.apache.rampart</groupId>
@@ -33,7 +33,7 @@
     <artifactId>rampart-project</artifactId>
     <packaging>pom</packaging>
     <description> WS-Security, WS-Trust and WS-SecureConversation implementaion for Apache Axis2 </description>
-    <version>1.7.0-SNAPSHOT</version>
+    <version>1.8.0-SNAPSHOT</version>
     <name>Apache Rampart</name>
     <url>http://axis.apache.org/axis2/java/rampart</url>
 
@@ -118,6 +118,13 @@
         <url>http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk</url>
     </scm>
 
+    <distributionManagement>
+        <site>
+            <id>site</id>
+            <url>scm:svn:https://svn.apache.org/repos/asf/axis/site/axis2/java/rampart-staging</url>
+        </site>
+    </distributionManagement>
+    
     <build>
         <pluginManagement>
             <plugins>
@@ -126,16 +133,66 @@
                     <configuration>
                         <autoVersionSubmodules>true</autoVersionSubmodules>
                         <preparationGoals>clean install</preparationGoals>
+                        <tagNameFormat>v@{project.version}</tagNameFormat>
                     </configuration>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.axis2</groupId>
                     <artifactId>axis2-mar-maven-plugin</artifactId>
-                    <version>1.5.4</version>
+                    <version>${axis2.version}</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-surefire-plugin</artifactId>
                     <version>2.10</version>
+                    <configuration>
+                        <argLine>${jacoco.surefireArgLine}</argLine>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <version>1.7</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.gmavenplus</groupId>
+                    <artifactId>gmavenplus-plugin</artifactId>
+                    <version>1.5</version>
+                    <dependencies>
+                        <dependency>
+                            <groupId>org.codehaus.groovy</groupId>
+                            <artifactId>groovy-all</artifactId>
+                            <version>2.4.4</version>
+                        </dependency>
+                    </dependencies>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-dependency-plugin</artifactId>
+                    <version>2.6</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>1.7</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.axis2</groupId>
+                    <artifactId>axis2-repo-maven-plugin</artifactId>
+                    <version>${axis2.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <version>3.4</version>
+                    <configuration>
+                        <!-- Required by maven-scm-publish-plugin -->
+                        <skipDeploy>true</skipDeploy>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-assembly-plugin</artifactId>
+                    <version>2.6</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>2.10.3</version>
                 </plugin>
             </plugins>
         </pluginManagement>
@@ -157,110 +214,240 @@
                                     <banPluginRepositories>true</banPluginRepositories>
                                     <!-- We still need to allow the Apache snapshot repository -->
                                     <allowSnapshotRepositories>true</allowSnapshotRepositories>
+                                    <allowSnapshotPluginRepositories>true</allowSnapshotPluginRepositories>
                                 </requireNoRepositories>
                             </rules>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.gmavenplus</groupId>
+                <artifactId>gmavenplus-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>initialize</id>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <scripts>
+                                <script>
+                                    <!-- Skip Jacoco if necessary -->
+                                    if (project.packaging == 'pom' || project.properties['skipTests'] == 'true') {
+                                        project.properties['skipJacoco'] = 'true'
+                                    }
+                                </script>
+                            </scripts>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>prepare-site</id>
+                        <phase>pre-site</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <scripts>
+                                <script>
+                                    import java.util.Date
+                                    import java.text.MessageFormat
+                                    project.properties['release_date'] = MessageFormat.format("{0,date,MMMMM dd, yyyy}", new Date())
+                                    project.properties['release_version'] = project.version.replaceAll("-SNAPSHOT", "")
+                                    project.properties['skipSiteSite'] = String.valueOf(!new File(project.basedir, 'src/site/site.xml').exists())
+                                </script>
+                            </scripts>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>check-site</id>
+                        <phase>post-site</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <scripts>
+                                <script>
+                                    project.properties['skipSiteStage'] = String.valueOf(!new File(project.reporting.outputDirectory).exists())
+                                </script>
+                            </scripts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>${jacoco.version}</version>
+                <executions>
+                    <execution>
+                        <id>prepare-agent-for-surefire</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <propertyName>jacoco.surefireArgLine</propertyName>
+                            <!-- Anonymize the session ID (by default it contains the name of the host executing the build) -->
+                            <sessionId>mvn:${project.groupId}:${project.artifactId}:${project.version}:surefire</sessionId>
+                        </configuration>
+                    </execution>
+                </executions>
+                <configuration>
+                    <skip>${skipJacoco}</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-jacoco-exec</id>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <configuration>
+                            <skipAttach>${skipJacoco}</skipAttach>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/jacoco.exec</file>
+                                    <classifier>jacoco</classifier>
+                                    <type>exec</type>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <!-- We need (some of) the source JARs for the code coverage analysis. -->
+                <artifactId>maven-source-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>source-jars</id>
+                        <goals>
+                            <goal>jar-no-fork</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <attach>true</attach>
+                </configuration>
+            </plugin>
             
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>2.0</version>
                 <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
+                    <source>1.6</source>
+                    <target>1.6</target>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>animal-sniffer-maven-plugin</artifactId>
+                <version>1.14</version>
+                <executions>
+                    <execution>
+                        <id>check</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                        <configuration>
+                            <signature>
+                                <groupId>org.codehaus.mojo.signature</groupId>
+                                <artifactId>java16</artifactId>
+                                <version>1.1</version>
+                            </signature>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
 
             <plugin>
                 <artifactId>maven-site-plugin</artifactId>
-                <version>2.0-beta-5</version>
-                <inherited>false</inherited>
+                <executions>
+                    <execution>
+                        <id>default-site</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>site</goal>
+                        </goals>
+                        <configuration>
+                            <skip>${skipSiteSite}</skip>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>site-stage</id>
+                        <phase>site-deploy</phase>
+                        <goals>
+                            <goal>stage</goal>
+                        </goals>
+                        <configuration>
+                            <skip>${skipSiteStage}</skip>
+                        </configuration>
+                    </execution>
+                </executions>
+                <configuration>
+                    <!-- Don't deploy; we use maven-scm-publish-plugin -->
+                    <skipDeploy>true</skipDeploy>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-scm-publish-plugin</artifactId>
+                <version>1.0-beta-2</version>
             </plugin>
         </plugins>
     </build>
 
-
-    <dependencies>
-
-        <!-- Axis2 and Axiom Dependencies -->
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-kernel</artifactId>
-            <version>${axis2.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>mex</artifactId>
-            <version>${axis2.version}</version>
-            <classifier>impl</classifier>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-mtompolicy</artifactId>
-            <version>${axis2.version}</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>addressing</artifactId>
-            <type>mar</type>
-            <version>${axis2.version}</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <!-- Other Rampart Dependencies -->
-        <dependency>
-            <groupId>org.apache.ws.security</groupId>
-            <artifactId>wss4j</artifactId>
-            <version>${wss4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>xalan</groupId>
-            <artifactId>xalan</artifactId>
-            <version>2.7.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensaml</groupId>
-            <artifactId>opensaml</artifactId>
-            <version>${opensaml.version}</version>
-            <exclusions>
-                <!-- Don't allow OpenSAML to impose a particular logging implementation -->
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>jcl-over-slf4j</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.slf4j</groupId>
-                    <artifactId>log4j-over-slf4j</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>2.3</version>
-        </dependency>
-        <dependency>
-            <groupId>bouncycastle</groupId>
-            <artifactId>bcprov-jdk15</artifactId>
-            <version>${bcprov.jdk15.version}</version>
-        </dependency>
-
-        <!-- Junit Dependency -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>${junit.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
+    <reporting>
+        <plugins>
+            <plugin>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+                <version>2.8.1</version>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>project-team</report>
+                            <report>dependencies</report>
+                            <report>mailing-list</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
+    
     <dependencyManagement>
         <dependencies>
+            <!-- Axis2 dependencies -->
+            <dependency>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>axis2-kernel</artifactId>
+                <version>${axis2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>axis2-mtompolicy</artifactId>
+                <version>${axis2.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>mex</artifactId>
+                <version>${axis2.version}</version>
+                <classifier>impl</classifier>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.axis2</groupId>
+                <artifactId>addressing</artifactId>
+                <version>${axis2.version}</version>
+                <type>mar</type>
+            </dependency>
+            
             <!-- Since Rampart depends on DOOM, but axiom-dom is not a transitive
                  dependency, we need to manage the Axiom version. -->
             <dependency>
@@ -278,7 +465,49 @@
                 <artifactId>axiom-dom</artifactId>
                 <version>${axiom.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.ws.commons.axiom</groupId>
+                <artifactId>axiom-truth</artifactId>
+                <version>${axiom.version}</version>
+            </dependency>
 
+            <!-- Other Rampart Dependencies -->
+            <dependency>
+                <groupId>org.apache.ws.security</groupId>
+                <artifactId>wss4j</artifactId>
+                <version>${wss4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcprov-jdk15on</artifactId>
+                <version>${bcprov.jdk15.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>xalan</groupId>
+                <artifactId>xalan</artifactId>
+                <version>2.7.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opensaml</groupId>
+                <artifactId>opensaml</artifactId>
+                <version>${opensaml.version}</version>
+                <exclusions>
+                    <!-- Don't allow OpenSAML to impose a particular logging implementation -->
+                    <exclusion>
+                        <groupId>org.slf4j</groupId>
+                        <artifactId>jcl-over-slf4j</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.slf4j</groupId>
+                        <artifactId>log4j-over-slf4j</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>org.bouncycastle</groupId>
+                        <artifactId>bcprov-jdk15</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            
             <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
@@ -320,21 +549,17 @@
                     </exclusion>
                 </exclusions>
             </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.12</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
     <profiles>
         <profile>
             <id>apache-release</id>
-            <activation>
-                <property>
-                    <name>release</name>
-                </property>
-            </activation>
-            <modules>
-                <module>modules/documentation</module>
-                <module>modules/distribution</module>
-            </modules>
             <build>
                 <plugins>
                     <plugin>
@@ -355,22 +580,26 @@
                             </execution>
                         </executions>
                     </plugin>
+                    <plugin>
+                        <artifactId>maven-source-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <!-- Skip the execution configured in org.apache:apache. We use our own configuration. -->
+                                <id>attach-sources</id>
+                                <phase>none</phase>
+                                <goals>
+                                    <goal>jar</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
                 </plugins>
             </build>
         </profile>
-        
-        <profile>
-            <!-- Profile that includes all modules. This is handy when using maven-release-plugin
-                 for anything else than doing a release. -->
-            <id>everything</id>
-            <modules>
-                <module>modules/documentation</module>
-                <module>modules/distribution</module>
-            </modules>
-        </profile>
     </profiles>
 
     <modules>
+        <module>apidocs</module>
         <module>modules/rampart-policy</module>
         <module>modules/rampart-trust</module>
         <module>modules/rampart-core</module>
@@ -378,24 +607,35 @@
         <module>modules/rampart-mar</module>
         <module>modules/rampart-trust-mar</module>
         <module>modules/rampart-integration</module>
-        <!-- Compile sample codes -->
-        <module>modules/rampart-samples</module>
+        <module>modules/rampart-samples</module> <!-- Compile sample codes -->
+        <module>modules/distribution</module>
+        <module>code-coverage</module>
     </modules>
 
     <properties>
-        <axis2.version>1.7.0-SNAPSHOT</axis2.version>
-        <axiom.version>1.2.14-SNAPSHOT</axiom.version>
+        <axis2.version>1.8.0-SNAPSHOT</axis2.version>
+        <axiom.version>1.3.0-SNAPSHOT</axiom.version>
 
-        <wss4j.version>1.6.4</wss4j.version>
+        <wss4j.version>1.6.19</wss4j.version>
         <opensaml.version>2.5.1-1</opensaml.version>
 
-        <bcprov.jdk15.version>140</bcprov.jdk15.version>
+        <bcprov.jdk15.version>1.49</bcprov.jdk15.version>
 
-        <junit.version>3.8.2</junit.version>
-
-        <!-- distribution properties -->
-        <dist.dir>rampart-${project.version}</dist.dir>
         <failIfNoTests>false</failIfNoTests>
 
+        <jacoco.version>0.7.5.201505241946</jacoco.version>
     </properties>
+
+    <pluginRepositories>
+         <pluginRepository>
+             <id>apache.snapshots</id>
+             <url>http://repository.apache.org/snapshots/</url>
+             <snapshots>
+                 <enabled>true</enabled>
+             </snapshots>
+             <releases>
+                 <enabled>false</enabled>
+             </releases>
+         </pluginRepository>
+    </pluginRepositories>
 </project>
diff --git a/release-docs/ChangeLog.txt b/release-docs/ChangeLog.txt
deleted file mode 100644
index e491892..0000000
--- a/release-docs/ChangeLog.txt
+++ /dev/null
@@ -1,255 +0,0 @@
-This file contains a listing of all Jira issues that have been closed
-for a given release.
-
-Release 1.6.0 - 06 Jun 2011
-===========================
-** Bug
-    * [RAMPART-327] - SVN locations mentioned in the developer guide are obsoleted
-    * [RAMPART-326] - Soap faults would not be secured if parameter based configuration is used
-    * [RAMPART-317] - Rampart Trust implementation does not properly handle SAML token with Bearer subject confirmation method
-    * [RAMPART-305] - If Rampart detects a security error a HTML page is send to the client instead of a SOAP fault
-    * [RAMPART-299] - Rampart ignores BootstrapPolicy settings in message exchange with WS-SecureConversation STS
-    * [RAMPART-398] - Client using SymmetricBinding runs slower and slower as more requests are made
-    * [RAMPART-264] - PolicyBasedResultsValidator fails on ContentEncryptedElements and EncryptedElements
-    * [RAMPART-236] - Error in service method is not properly handled for parameter based WS-Security (issue in RampartReceiver??)
-    * [RAMPART-201] - Add alias/certificate used for validating signature
-    * [RAMPART-183] - Rampart not correctly enforcing Signature validity if other security elements exist (ie - Timestamp)
-    * [RAMPART-98] -  When the request uses a BEARER keyType, The STSClient tries to retrieve the ProofToken even when the token type is Bearer.
-   
-
-** Improvement
-    * [RAMPART-297] - Add support for ContentEncryptedElements Assertion
-    * [RAMPART-321] - Possible improvements to the logging in Rampart
-   
-
-Release 1.5.1 - 23 Dec 2010
-===========================
- 
-** Bug
-    * [RAMPART-316] - commons-lang jar is not available with Axis2 which breaks Sample-08
-    * [RAMPART-315] - Sample-06 is not working in the current trunk
-    * [RAMPART-181] - OptimizePartsConfig does not open namespace tag when serializing the assertion
-    * [RAMPART-186] - Password call back not copied over when the call back is set via a parameter to the axis Service (Secure conversation)
-    * [RAMPART-174] - Rampart module says true to all assertions when canSupportAssertion is called
-    * [RAMPART-202] - RampartEngine throws ClassCastException retrieving SOAPHeaderBlocks
-    * [RAMPART-212] - WSSecurityException: Error in converting SOAP Envelope to Document
-    * [RAMPART-314] - Rampart distribution does not contain OpenSAML 1.1 jars
-    * [RAMPART-198] - Rampart 1.4 assumes WSS10 or WSS11 to be present in the policy
-    * [RAMPART-273] - multiple rampart samples doesn't work
-    * [RAMPART-254] - Public getter/setter setCallbackHander/getCallbackHander mis-spelled [ hander --> handler] in SAMLTokenIssuerConfig
-    * [RAMPART-259] - SAML2TokenIssuer calls DefaultBootstrap.bootstrap() per every request and attribute call back handler not being called
-    * [RAMPART-277] - Rampart ignores token inclusion settings when using the asymmetric security binding
-    * [RAMPART-267] - div class="xleft" does not work
-    * [RAMPART-224] - Error in Rampart configuration schema
-    * [RAMPART-283] - sp:ProtectTokens Assertion Ignored w/ Transport Security Binding
-    * [RAMPART-288] - Supporting Tokens Not Encrypted When Protection Order is Sign Before Encrypting
-    * [RAMPART-300] - Rampart automaticaly tries to load an "Encryption user" if the security policy defines the use of a UsernameToken with a AsymmetricBinding
-    * [RAMPART-225] - SupportingToken UsernameToken is always encrypted
-    * [RAMPART-303] - Incorrect XML Passed to Digest Algorithm when XML Elements Belong to Empty Namespace
-    * [RAMPART-309] - Incorrect XML Passed to Digest Algorithm
-    * [RAMPART-116] - Policy Sample 04 on application scope fails with "Error in key derivation"
-    * [RAMPART-253] - TTL doesn't serialized in to saml-issuer-config from SAMLTokenIssuerConfig
-    * [RAMPART-270] - NPE in RampartMessageData
-    * [RAMPART-274] - renewing a sts token doesn't work
-    * [RAMPART-180] - Wrong NameIdentifier format
-    * [RAMPART-276] - SignedEncryptedElements can incorrectly set the namespace of child xpaths during serialization
-    * [RAMPART-293] - NPE in RampartMessageData prevents fault being returned to service consumer
-    * [RAMPART-308] - All security exceptions reported as wsse:InvalidSecurity
-    * [RAMPART-290] - NullPointerException in RampartEngine.isSecurityFault if the incoming fault message contains an invalid fault code element
-    * [RAMPART-311] - Error AxisFault: A required message part [body] is not signed.
-    * [RAMPART-239] - Axis2: Rampart module should not check the order of WS-Security header tags
-    * [RAMPART-119] - Invalid behavior when empty <sp:SignedParts/> element present in the policy
-    * [RAMPART-310] - Property 'invalidIssuerAddress' missing from error.properties
-    * [RAMPART-154] - org.apache.rahas.client.STSClient.org.apache.rahas.processIssueResponse fails if SamlAssertion is issued.
-    * [RAMPART-130] - MTOM with WS-Security
-    * [RAMPART-97 ] - interop(WSE3.0 + Rampart1.3) Signature varification failed,When request with Non-English Character
-    * [RAMPART-210] - samples/basic/sample11 does not exist in distro rampart-dist-1.4-bin.zip
-    * [RAMPART-22 ] - Exception handling in UsernameTokenProcessor.handleUsernameToken
-    * [RAMPART-111] - Rampart won't send certificate serial + issuer. Only either BinaryToken or Identity, but not always as it should
-    * [RAMPART-187] - Secure conversation clients do not work when the bootstrap policy requires Username Token
-    * [RAMPART-195] - Maven metadata are invalid in official repo preventing the use of rampart in offline mode
-    * [RAMPART-280] - renewToken() does not provide a mechanism to update the token in the token-store
-    * [RAMPART-6  ] - RAMPART : Incoming policy validation of KeyWrap Algorithm.
-    * [RAMPART-7  ] - RAMPART : Incoming policy validation of Bulk Encryption Algorithms.
-    * [RAMPART-266] - Rampart module fails validating signing certificate when security provider is Bouncy Castle
-    * [RAMPART-271] - Build failure in the rampart trunk
-    * [RAMPART-279] - NPE thrown when WS-Trust renew binding implementation
-    * [RAMPART-285] - Interoporability issues in SAML 2.0 implementation
-    * [RAMPART-306] - Rampart Configuration page of the web site should be updated with Crypto Caching configurations
-    * [RAMPART-307] - Spelling error in org.apache.rampart.builder.BindingBuilder - Method getSignatureBuider should be getSignatureBuilder
-    * [RAMPART-206] - RampartUtil.getToken() not setting parent properties on the STS service call resulting in HTTP 401 error
-
-** Improvement
-    * [RAMPART-313] - Improvements to the site axis.apache.org/axis2/java/rampart/
-    * [RAMPART-121] - Handling of KeyStores
-    * [RAMPART-25 ] - Abilty to dynamically set Encryption certificate on client
-    * [RAMPART-258] - A sample is required to demonstrate the SAML 2.0 Token issuing capability in Rampart
-    * [RAMPART-291] - Possible improvements to SAML2TokenIssuer
-    * [RAMPART-265] - Incorrect version references in Rampart 1.4
-
-Release 1.5 01 Feb 2010
-=======================
- 
-** Bug
-    * [RAMPART-189] - WS-Security rampart uses wrong token in service response
-    * [RAMPART-191] - NullPointerException in AbstractHTTPSender.java:126 leading to "Unexpected number of certificates: 0"
-    * [RAMPART-193] - Missing signature in SOAP fault messages
-    * [RAMPART-209] - https urls are present in the src checkout page for both anonymous and developpers
-    * [RAMPART-230] - Rampart expands message object model unnecessarily
-    * [RAMPART-232] - Problem when body is signed and then an XPath is encrypted
-    * [RAMPART-244] - Invalid behavior when empty <sp:EncryptedParts/> element present in the policy
-    * [RAMPART-247] - Rampart fails to handle scenarios where password type is not set by default in UsernameToken [where 'type' is not included in the UsernameToken element]
-    * [RAMPART-249] - The way attached references and unattached references created incorrectly for SAML tokens and does not interop with WCF
-    * [RAMPART-250] - For SecureConversationToken key identifier type not set properly
-    * [RAMPART-251] - <EncryptedElements/> fails when the element is not namespce qualified
-    * [RAMPART-255] - Sample05 does not work correctly
-    * [RAMPART-257] - "build.xml" file inside the samples/policy does not copy the correct versions of the rampart, rahas, and addressing mar files.
-    * [RAMPART-259] - SAML2TokenIssuer calls DefaultBootstrap.bootstrap() per every request and attribute call back handler not being called
-    * [RAMPART-260] - Sample06 does not work correctly
-    * [RAMPART-262] - SymmetricBinding client can invoke the AsymmetricBinding service policy
-
-** Improvement
-    * [RAMPART-200] - Provide capability to configure x509 supporting token certificates different from the ones used for the assymetric binding
-    * [RAMPART-233] - Tests are required for negative scenario testing
-    * [RAMPART-242] - Test Cases are required for upcoming SAML2.0 support in Rampart
-    * [RAMPART-243] - Updating the README.txt and the contents of the binary distribution corresponding to SAML 2.0 support
-    * [RAMPART-245] - Supporting same type of multiple SupprtingToken
-    * [RAMPART-246] - Need to able to set a AttributeCallbackHandler class by name to the SAMLTokenIssuerConfig
-    * [RAMPART-248] - Caching crypto objects to improve the performance when using the same crypto for signing and encrypting.
-    * [RAMPART-256] - Sample for a policy having multiple supporting tokens - enabling to sign/encrypt with multiple keys
-    * [RAMPART-258] - A sample is required to demonstrate the SAML 2.0 Token issuing capability in Rampart
-
-** New Feature
-  * [RAMPART-231] - Implementing the SAML 2.0 support in Rampart
-
-Release 1.4 - 12/Jun/2008
-=========================
-
-** Bug
-    * [RAMPART-41] - "IncludeToken/Once" is not handled properly in Rampart
-    * [RAMPART-84] - "SupportingTokens" Token Inop for Asymetric Binding (Sign before Encrypt)
-    * [RAMPART-86] - Test the SymmetricBinding implementation
-    * [RAMPART-88] - Policy sample "sample-tomcat" incorrectly adds client.jks to Client's truststore
-    * [RAMPART-89] - License files missing in distribution
-    * [RAMPART-90] - Rampart must respond using the applicable WS-Policy even when returning a fault
-    * [RAMPART-91] - Wrong  KeyIdentifierType in WSSecSignature and WSSecEncryptedKey
-    * [RAMPART-92] - Error in checking generated encrypted parts with the policy
-    * [RAMPART-93] - ValueType is not set correctly in the Signature when a encrypted key is used to sign
-    * [RAMPART-100] - Missing encrypted key token in response when Asymmetric Binding is used
-    * [RAMPART-101] - Rampart uses xmlsec-1.4.0
-    * [RAMPART-102] - Policy Validation Error
-    * [RAMPART-104] - Rampart generates empty reference lists
-    * [RAMPART-107] - Rampart ignores the MTOM assertion in the bootstrap policy in secure conversation
-    * [RAMPART-108] - Policy Validator doesn't check the transport when Transport binding is used with HttpsToken 
-    * [RAMPART-109] - Error in placement of reference list in No-Timestamp scenarios
-    * [RAMPART-110] - Symmetric binding scenario: "Cannot find Reference in Manifest" Exception is thrown
-    * [RAMPART-114] - "Unexpected signature" exception thrown when using Signed/SupportingTokens Assertion
-    * [RAMPART-115] - Incrorrect reference URI in the soap response in Secure Conversation Scenarios
-    * [RAMPART-117] - 1.3 not available on download page
-    * [RAMPART-122] - /sp:EncryptedParts/sp:Header needs qualified attribute names
-    * [RAMPART-123] - client stub are not given the namespace declaration for <sp:EncryptedElements>
-    * [RAMPART-124] - /sp:SignedParts/sp:Header selects no elements if the Name attribute is unspecified
-    * [RAMPART-125] - Encryption of SOAP Headers broken
-    * [RAMPART-127] - Possible Security Hole
-    * [RAMPART-129] - Validation of supporting tokens according to a service's policy
-    * [RAMPART-130] - MTOM with WS-Security
-    * [RAMPART-131] - Rampart security header problem
-    * [RAMPART-132] - Issue with XPath configuration inside RampartUtil
-    * [RAMPART-133] - Supporting tokens are not added to the soap header
-    * [RAMPART-136] - Rampart doesn't support RequiredElements Assertion
-    * [RAMPART-138] - Created response of SymmetricBindingBuilder WITHOUT timestamp is incorrect
-    * [RAMPART-139] - SignatureToken doesn't work for Symetricbinding
-    * [RAMPART-140] - Processing of response fails if a security policy is set
-    * [RAMPART-141] - Issue of Rampart not supporting X509PKIPathv1 token
-    * [RAMPART-143] - Policy with 'Layout' 'Lax' having no subelements leads to a NullPointerException in PolicyEngine
-    * [RAMPART-145] - When we use an issued token for sig/encrypt we must use the attached reference or unattached reference as specified by policy
-    * [RAMPART-146] - The exact elements that are equired to be encrypted are not validated
-    * [RAMPART-147] - Header parts included in EncryptedParts are not processed by Rampart
-    * [RAMPART-148] - Release notes are not copied to source distribution 
-    * [RAMPART-149] - Improvements to the documentation 
-    * [RAMPART-151] - Rahas docs not being built
-    * [RAMPART-153] - Incorrect links given in source checkout page
-    * [RAMPART-157] - Duplicate namespace declaration in SingedEncryptedElements assertion
-    * [RAMPART-160] - Source files are also copied in to Rampart jars
-    * [RAMPART-161] - java.util.ConcurrentModificationException while a token is associated with a user when sevaral users are using a service
-    * [RAMPART-162] - NullPointerException thrown when a non-existing algorythm suite is used in a policy file when invoking a secured service 
-    * [RAMPART-165] - Exception in Rampart Processing causes NPE 
-    * [RAMPART-166] - Wrong SoapFault code accessing a Secure endpoint without security 
-    * [RAMPART-167] - Remove bouncycastle from the distribution and add a note
-    * [RAMPART-168] - When SecureConversationTokens are used Rampart always try to use the attached reference 
-    * [RAMPART-169] - HttpsToken serializer does not support ws-securitypolicy 1.2
-
-** Improvement
-    * [RAMPART-85] - Uncommented and fixed AsymmetricBindingBuilderTest
-    * [RAMPART-94] - Change rampart implementation to use same encrypted key in both request and response messages
-    * [RAMPART-99] - add userCertAlias parameter to Rampart Configuration
-    * [RAMPART-103] - include a note on adding bouncycastle as a security provider in the JRE
-    * [RAMPART-105] - Update RampartTest to include test scenarios for RAMPART-99, RAMPART-102 and RAMPART-104
-    * [RAMPART-106] - Encrypt the Username Token when it is used as a supporting token
-    * [RAMPART-113] - Enforce transport level security when Transport binding is used with Https Token
-    * [RAMPART-120] - sources unavailable in maven repository
-    * [RAMPART-134] - Add WS - Security Policy 1.2 support to Rampart
-    * [RAMPART-135] - Allow custom implementation of PolicyBasedResultsValidator using callback handler mechanism
-    * [RAMPART-137] - Add tests for encrypted supporting token scenarios
-    * [RAMPART-152] - Timestamp Precision In Milliseconds Configuration
-    * [RAMPART-163] - Update the WS wiki with Rampart information
-
-** New Feature
-    * [RAMPART-87] - Add renewal and validation support for issued token
-    * [RAMPART-95] - Support Encrypted Header
-
-
-
-** Task
-    * [RAMPART-158] - Create a FAQ
-    * [RAMPART-159] - Fix Releases/Versions in Rampart JIRA
-    
-Release 1.3 - 06/Sep/07
-=======================    
-
-** Bug
-    * [RAMPART-32] - Processing of <Issuer> and <RequestSecurityTokenTemplate> in class org.apache.ws.secpolicy.builders.IssuedTokenBuilder is wrong.
-    * [RAMPART-42] - TransportBinding does not encrypt the message payload
-    * [RAMPART-49] - RampartPolicyBuilder logs to console/System.out
-    * [RAMPART-52] - UsernameToken Builder Bug.
-    * [RAMPART-53] - rampart causes problems with hierarchies
-    * [RAMPART-57] - Move generated code into target directory in rampart-integration test
-    * [RAMPART-58] - problems engaging rampart per operation
-    * [RAMPART-62] - Build failure on Mac OS
-    * [RAMPART-76] - Rampart 1.3.mar throws error with Axis2 1.3
-    * [RAMPART-79] - setAction in Options does not create a non-null "Action" element in the SOAP Header
-
-** Improvement
-    * [RAMPART-17] - Create Apache Rampart website
-    * [RAMPART-20] - Improve logging
-    * [RAMPART-27] - The user in the configuration for UsernameToken and Signature should be different
-    * [RAMPART-48] - RampartMessageData class needs tightening
-    * [RAMPART-51] - Rampart developer guide
-    * [RAMPART-54] - Reviewed the Developer Guide
-    
-Release 1.2 - 02/Jun/07
-=======================     
-    
-** Bug
-    * [RAMPART-12] - ClassCastException in fault parsing
-    * [RAMPART-28] - Cannot add parts of the header for encryption
-    * [RAMPART-34] - SignedEncryptedSupportingTokens assertion does not work 
-    * [RAMPART-35] - SignedSupportingTokens does not sign the UsernameToken 
-    * [RAMPART-36] - Using the "SupportingTokens" assertion throws exception
-    * [RAMPART-37] - SymmetricBinding is broken 
-    * [RAMPART-43] - When IncludeTimestamp is commented in Sample03 service throws a Nullpointer exception.
-
-
-** New Feature
-    * [RAMPART-38] - AsymmetricBinding does not support UsernameToken as a supporting token
-    * [RAMPART-40] - implementation of the Xpath support 
-
-
-
-
-
-
-
-
-
-
diff --git a/release-docs/release-notes.html b/release-docs/release-notes.html
deleted file mode 100644
index 3af20d0..0000000
--- a/release-docs/release-notes.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-       "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-  <title>Apache Rampart - Release Notes</title>
-  <meta name="generator" content="amaya 9.2.2, see http://www.w3.org/Amaya/"
-  />
-</head>
-
-<body>
-<h1>Apache Rampart Release Notes</h1>
-
-<p>This is the 1.6.0 release of Apache Rampart.</p>
-
-<p>Apache Rampart 1.6.0 is a toolkit that provides implementations of the WS-Sec*
-specifications for Apache Axis2 1.6.0, based on Apache WSS4J 1.5.11 and 
-the Apache AXIOM-DOOM 1.2.11 implementation.</p>
-
-<b>What is in this release</b>
-
-<p>There are two main Apache Axis2 modules provided with this release.</p> 
-<ul>
-<li>rampart-1.6.0.mar</li>
-This provides support for WS-Security and WS-SecureConversation features.
-<li>rahas-1.6.0.mar</li>
-This module provides the necessary components to enable SecurityTokenService 
-functionality on a service.
-</ul>
-
-<p>Apache Rampart 1.6.0 uses a configuration model based on WS-Policy 
-and WS-Security Policy and it is important to note that Apache Rampart 1.0 style 
-configuration is also available even though being marked as deprecated.
-</p>
-
-<p>Apache Rampart 1.6.0 can be successfully used with the next Apache Sandesha2 1.6.0
-release targeted towards Apache Axis2 1.6.0 to configure
-WS-SecureConversation + WS-ReliableMessaging scenarios.</p>
-<p>
-The rampart module was successfully tested for interoperability with other
-WS-Security implementations.</p>
-
-<p>WS - Sec* specifications supported by Apache Rampart are as follows:</p>
-
-<ul>
-<li>WS - Security 1.0</li>
-<li>WS - Secure Conversation - February 2005</li>
-<li>WS - Security Policy - 1.1 - July 2005</li>
-<li>WS - Trust - February 2005</li>
-<li>WS - Trust - WS-SX specification</li>
-<li>SAML Specification - 1.1 </li>
-<li>SAML Specification - 2.0 </li>
-</ul>
-
-
-
-
-<p>Thank you for using Apache Rampart.</p>
-
-<p></p>
-
-<p>Apache Rampart Team</p>
-
-<p></p>
-</body>
-</html>
diff --git a/src/site/markdown/download.md.vm b/src/site/markdown/download.md.vm
new file mode 100644
index 0000000..b970037
--- /dev/null
+++ b/src/site/markdown/download.md.vm
@@ -0,0 +1,60 @@
+##
+## 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.
+##
+
+Releases
+--------
+
+The current release is ${release_version} and was published on ${release_date}. The release note for this
+release can be found [here](release-notes/${release_version}.html).
+
+The following distributions are available for download:
+
+&nbsp;              | Link                                         | Checksums and signatures
+--------------------|----------------------------------------------|----------------------------
+Binary distribution | [rampart-dist-${release_version}-bin.zip][1] | [MD5][2] [SHA1][3] [PGP][4]
+Source distribution | [rampart-dist-${release_version}-src.zip][5] | [MD5][6] [SHA1][7] [PGP][8]
+
+The binary distribution contains the following Axis2 modules:
+
+*   `rampart-${release_version}.mar` provides support for WS-Security and WS-SecureConversation
+    features.
+
+*   `rahas-${release_version}.mar` provides the necessary components to enable SecurityTokenService
+    functionality on a service.
+
+The signatures of the distributions can be [verified][9] against the public keys in the [KEYS][10] file.
+
+Maintenance releases from branches other than the main branch can be found [here][11].
+Distributions for older releases can be found in the [archive][12].
+
+All releases are also available as Maven artifacts in the [central repository][13].
+
+[1]: http://www.apache.org/dyn/closer.lua/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-bin.zip
+[2]: https://www.apache.org/dist/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-bin.zip.md5
+[3]: https://www.apache.org/dist/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-bin.zip.sha1
+[4]: https://www.apache.org/dist/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-bin.zip.asc
+[5]: http://www.apache.org/dyn/closer.lua/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-src.zip
+[6]: https://www.apache.org/dist/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-src.zip.md5
+[7]: https://www.apache.org/dist/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-src.zip.sha1
+[8]: https://www.apache.org/dist/axis/axis2/java/rampart/${release_version}/rampart-dist-${release_version}-src.zip.asc
+[9]: http://www.apache.org/dev/release-signing#verifying-signature
+[10]: https://www.apache.org/dist/axis/axis2/java/rampart/KEYS
+[11]: http://www.apache.org/dyn/closer.lua/axis/axis2/java/rampart/
+[12]: http://archive.apache.org/dist/axis/axis2/java/rampart/
+[13]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.rampart%22
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
new file mode 100644
index 0000000..e174284
--- /dev/null
+++ b/src/site/markdown/index.md
@@ -0,0 +1,23 @@
+Welcome to Apache Rampart
+-------------------------
+
+Apache Rampart&#x2122; provides implementations of the WS-Sec* specifications for
+Apache Axis2, based on [Apache WSS4J][1] and the [Apache Axiom DOOM implementation][2].
+Rampart implements the following specifications:
+
+* WS - Security 1.0
+* WS - Security 1.1
+* WS - Secure Conversation - February 2005
+* WS - Security Policy - 1.1 - July 2005
+* WS - Security Policy - 1.2
+* WS - Trust - February 2005
+* WS - Trust - WS-SX specification
+* SAML Specification - 1.1
+* SAML Specification - 2.0
+
+- - -
+
+Apache Rampart, Rampart, Apache, the Apache feather logo, and the Apache Rampart project logo are trademarks of The Apache Software Foundation.
+
+[1]: http://ws.apache.org/wss4j/
+[2]: http://ws.apache.org/axiom/implementations/axiom-dom/
diff --git a/src/site/markdown/release-notes/1.6.1.md b/src/site/markdown/release-notes/1.6.1.md
new file mode 100644
index 0000000..680fd6f
--- /dev/null
+++ b/src/site/markdown/release-notes/1.6.1.md
@@ -0,0 +1,7 @@
+Apache Rampart 1.6.1 Release Note
+---------------------------------
+
+The Apache Rampart 1.6.1 release updates WSS4J to version 1.5.12 and ensures
+compatibility with Axis2 1.6.1. Please note that Rampart 1.6.1 will not work
+with Axis2 1.6.0 and that users of Axis2 1.6.1 are required to update to
+Rampart 1.6.1, i.e. Rampart 1.6.0 doesn't work with Axis2 1.6.1.
diff --git a/src/site/markdown/release-notes/1.6.2.md b/src/site/markdown/release-notes/1.6.2.md
new file mode 100644
index 0000000..746b984
--- /dev/null
+++ b/src/site/markdown/release-notes/1.6.2.md
@@ -0,0 +1,10 @@
+Apache Rampart 1.6.2 Release Note
+---------------------------------
+
+Apache Rampart 1.6.2 is a maintenance release that updates WSS4J to version
+1.6.4 and OpenSAML to version 2.5.1. Apache Rampart 1.6.2 ensure compatibility
+with the latest Axis2 1.6.2 release.
+
+A complete list of issues fixed in this release can be found [here][1].
+
+[1]: http://s.apache.org/rampart1.6.2
diff --git a/src/site/markdown/release-notes/1.6.3.md b/src/site/markdown/release-notes/1.6.3.md
new file mode 100644
index 0000000..dcf8861
--- /dev/null
+++ b/src/site/markdown/release-notes/1.6.3.md
@@ -0,0 +1,7 @@
+Apache Rampart 1.6.3 Release Note
+---------------------------------
+
+Apache Rampart 1.6.3 is a maintenance release compatible with Apache Axis2
+1.6.3. A complete list of issues fixed in this release can be found [here][1].
+
+[1]: http://s.apache.org/rampart1.6.3
\ No newline at end of file
diff --git a/src/site/markdown/release-notes/1.6.4.md b/src/site/markdown/release-notes/1.6.4.md
new file mode 100644
index 0000000..2f8f4a5
--- /dev/null
+++ b/src/site/markdown/release-notes/1.6.4.md
@@ -0,0 +1,7 @@
+Apache Rampart 1.6.4 Release Note
+---------------------------------
+
+Apache Rampart 1.6.4 is a maintenance release compatible with Apache Axis2
+1.6.4. A complete list of issues fixed in this release can be found [here][1].
+
+[1]: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310610&amp;version=12334369
diff --git a/src/site/markdown/release-notes/1.7.0.md b/src/site/markdown/release-notes/1.7.0.md
new file mode 100644
index 0000000..183c21e
--- /dev/null
+++ b/src/site/markdown/release-notes/1.7.0.md
@@ -0,0 +1,11 @@
+Apache Rampart 1.7.0 Release Note
+---------------------------------
+
+Apache Rampart 1.7.0 is a major release designed for compatibility with Axis2
+1.7.0. A complete list of issues fixed in this release can be found [here][1].
+
+Please note that Apache Rampart uses a configuration model based on WS-Policy
+and WS-Security Policy and that the Apache Rampart 1.0 style configuration
+(already deprecated since Rampart 1.1) is no longer supported in 1.7.0.
+
+[1]: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310610&amp;version=12316529
diff --git a/src/site/markdown/release-notes/1.8.0.md b/src/site/markdown/release-notes/1.8.0.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/site/markdown/release-notes/1.8.0.md
diff --git a/modules/documentation/src/site/resources/images/apache-rampart-logo.jpg b/src/site/resources/images/apache-rampart-logo.jpg
similarity index 100%
rename from modules/documentation/src/site/resources/images/apache-rampart-logo.jpg
rename to src/site/resources/images/apache-rampart-logo.jpg
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/logos/asf_logo_wide.png b/src/site/resources/images/logos/asf_logo_wide.png
similarity index 100%
rename from modules/documentation/src/site/resources/images/logos/asf_logo_wide.png
rename to src/site/resources/images/logos/asf_logo_wide.png
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/message-builder.jpg b/src/site/resources/images/message-builder.jpg
similarity index 100%
rename from modules/documentation/src/site/resources/images/message-builder.jpg
rename to src/site/resources/images/message-builder.jpg
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/rampart-engine.jpg b/src/site/resources/images/rampart-engine.jpg
similarity index 100%
rename from modules/documentation/src/site/resources/images/rampart-engine.jpg
rename to src/site/resources/images/rampart-engine.jpg
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/rampart-handlers.jpg b/src/site/resources/images/rampart-handlers.jpg
similarity index 100%
rename from modules/documentation/src/site/resources/images/rampart-handlers.jpg
rename to src/site/resources/images/rampart-handlers.jpg
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/rampart-trust.jpg b/src/site/resources/images/rampart-trust.jpg
similarity index 100%
rename from modules/documentation/src/site/resources/images/rampart-trust.jpg
rename to src/site/resources/images/rampart-trust.jpg
Binary files differ
diff --git a/modules/documentation/src/site/resources/images/security-stack.jpg b/src/site/resources/images/security-stack.jpg
similarity index 100%
rename from modules/documentation/src/site/resources/images/security-stack.jpg
rename to src/site/resources/images/security-stack.jpg
Binary files differ
diff --git a/modules/documentation/src/site/resources/rampart-config.xsd b/src/site/resources/rampart-config.xsd
similarity index 100%
rename from modules/documentation/src/site/resources/rampart-config.xsd
rename to src/site/resources/rampart-config.xsd
diff --git a/modules/documentation/src/site/resources/samples/msgs/creq04.xml b/src/site/resources/samples/msgs/creq04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/creq04.xml
rename to src/site/resources/samples/msgs/creq04.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/cres04.xml b/src/site/resources/samples/msgs/cres04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/cres04.xml
rename to src/site/resources/samples/msgs/cres04.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/req01.xml b/src/site/resources/samples/msgs/req01.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/req01.xml
rename to src/site/resources/samples/msgs/req01.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/req02.xml b/src/site/resources/samples/msgs/req02.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/req02.xml
rename to src/site/resources/samples/msgs/req02.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/req03.xml b/src/site/resources/samples/msgs/req03.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/req03.xml
rename to src/site/resources/samples/msgs/req03.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/req04.xml b/src/site/resources/samples/msgs/req04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/req04.xml
rename to src/site/resources/samples/msgs/req04.xml
diff --git a/src/site/resources/samples/msgs/req09.xml b/src/site/resources/samples/msgs/req09.xml
new file mode 100644
index 0000000..ca9cc80
--- /dev/null
+++ b/src/site/resources/samples/msgs/req09.xml
@@ -0,0 +1,59 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
+  <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+     <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
+        <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-1">
+           <wsu:Created>2011-10-02T17:02:00.891Z</wsu:Created>
+           <wsu:Expires>2011-10-02T17:07:00.891Z</wsu:Expires>
+        </wsu:Timestamp>
+        <xenc:EncryptedKey Id="EncKeyId-217C2EC3C2E291A44313175749217822">
+           <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" />
+           <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+              <wsse:SecurityTokenReference>
+                 <wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1">aqePjuZzE1lzwMMtquksvNJsbmI=</wsse:KeyIdentifier>
+              </wsse:SecurityTokenReference>
+           </ds:KeyInfo>
+           <xenc:CipherData>
+              <xenc:CipherValue>dcU0PS/8bZjpJ1u5Mey5oytQNdNj+Naq+1cMnEv4abN/BP6RDURGv+4+XT1uIHSU4G7FpspJ+U06fa4VeqNyCfAq2SDul6WzPLRTQ3qRdiHARBpR8kI5YrOWXmTR/nl5yzz03NC51GGqA+R6X1CwpuXDrCbcz3CsE+TQduFHtlM=</xenc:CipherValue>
+           </xenc:CipherData>
+        </xenc:EncryptedKey>
+        <xenc:ReferenceList>
+           <xenc:DataReference URI="#EncDataId-3" />
+        </xenc:ReferenceList>
+        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
+           <ds:SignedInfo>
+              <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+              <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" />
+              <ds:Reference URI="#Timestamp-1">
+                 <ds:Transforms>
+                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+                 </ds:Transforms>
+                 <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+                 <ds:DigestValue>nJA1OmoBVIEcnsJBZEadzN6UJs0=</ds:DigestValue>
+              </ds:Reference>
+           </ds:SignedInfo>
+           <ds:SignatureValue>pf4BJD5Qiv8Z+oqs7I+D13D0Oz8=</ds:SignatureValue>
+           <ds:KeyInfo Id="KeyId-217C2EC3C2E291A44313175749218033">
+              <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-217C2EC3C2E291A44313175749218034">
+                 <wsse:Reference URI="#EncKeyId-217C2EC3C2E291A44313175749217822" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" />
+              </wsse:SecurityTokenReference>
+           </ds:KeyInfo>
+        </ds:Signature>
+     </wsse:Security>
+     <wsa:To>http://localhost:8081/axis2/services/sample09</wsa:To>
+     <wsa:MessageID>urn:uuid:2f08b4d8-4a46-439c-bd89-e6eb0a6f227c</wsa:MessageID>
+     <wsa:Action>urn:echo</wsa:Action>
+  </soapenv:Header>
+  <soapenv:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Id-2030128673">
+     <xenc:EncryptedData Id="EncDataId-3" Type="http://www.w3.org/2001/04/xmlenc#Content">
+        <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
+        <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+           <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+              <wsse:Reference URI="#EncKeyId-217C2EC3C2E291A44313175749217822" />
+           </wsse:SecurityTokenReference>
+        </ds:KeyInfo>
+        <xenc:CipherData>
+           <xenc:CipherValue>oUOJCeKFAGyuKdMDjUDB2n3NjcHC8udPl+ZWHwwKOttJSt/IlthXipCs62Gnn8gmzLi4DT0LnwhI9/vwUbulFjuPRENIs3D+IRu8mrL+UgxIYnkn44qKR/hYIOR/bY6SyLkbKlITAatDtJafqz5rs6IdSOQ/07s+JQImBYDQD7dxBtXsJw/0TBb78VeSIl+VWsQDDSf+PSxZLAWCQYQZRBXPMWxQ+lm7ArS2rLIswPoS6D9PwyHJDDmcJ5A4C2DTSu/IgTvM6wj7spLIjGL1nGa4kRmg71bwHpZ4aKNOrslNuDOldrPPuDxNiuSijX/lhbHMHOCYg/YJP2SbhWfVLkFmRqFbQFdoyYqbM+s/pweclcAIWVaLlvu003shSBqrvgfXUPFKH3vUDOsM/jD2iOKOpAc+hdKqWVKIUjjyBVZNSQ2DX+9XBeL5VWECgRC0</xenc:CipherValue>
+        </xenc:CipherData>
+     </xenc:EncryptedData>
+  </soapenv:Body>
+</soapenv:Envelope>
diff --git a/modules/documentation/src/site/resources/samples/msgs/res01.xml b/src/site/resources/samples/msgs/res01.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/res01.xml
rename to src/site/resources/samples/msgs/res01.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/res02.xml b/src/site/resources/samples/msgs/res02.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/res02.xml
rename to src/site/resources/samples/msgs/res02.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/res03.xml b/src/site/resources/samples/msgs/res03.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/res03.xml
rename to src/site/resources/samples/msgs/res03.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/res04.xml b/src/site/resources/samples/msgs/res04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/res04.xml
rename to src/site/resources/samples/msgs/res04.xml
diff --git a/src/site/resources/samples/msgs/res09.xml b/src/site/resources/samples/msgs/res09.xml
new file mode 100644
index 0000000..b2ba53e
--- /dev/null
+++ b/src/site/resources/samples/msgs/res09.xml
@@ -0,0 +1,51 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
+  <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
+     <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
+        <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-4">
+           <wsu:Created>2011-10-02T17:02:01.986Z</wsu:Created>
+           <wsu:Expires>2011-10-02T17:07:01.986Z</wsu:Expires>
+        </wsu:Timestamp>
+        <wsse11:SignatureConfirmation xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" Value="pf4BJD5Qiv8Z+oqs7I+D13D0Oz8=" wsu:Id="SigConf-5" />
+        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-6">
+           <ds:SignedInfo>
+              <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+              <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" />
+              <ds:Reference URI="#Id-2097953288">
+                 <ds:Transforms>
+                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+                 </ds:Transforms>
+                 <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+                 <ds:DigestValue>G/7ZztG0V1Kmv0wm+mzgymHcOyo=</ds:DigestValue>
+              </ds:Reference>
+              <ds:Reference URI="#Timestamp-4">
+                 <ds:Transforms>
+                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+                 </ds:Transforms>
+                 <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+                 <ds:DigestValue>1wuRtmA8p7YYbLHbGZCg/zwoLbI=</ds:DigestValue>
+              </ds:Reference>
+              <ds:Reference URI="#SigConf-5">
+                 <ds:Transforms>
+                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+                 </ds:Transforms>
+                 <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+                 <ds:DigestValue>S1DcEeIgKXsIRXEFarD4mV2+2q0=</ds:DigestValue>
+              </ds:Reference>
+           </ds:SignedInfo>
+           <ds:SignatureValue>r8Rlddsga6YTXf2iVLKA7TK8rGg=</ds:SignatureValue>
+           <ds:KeyInfo Id="KeyId-297B8911F2D33E5F7213175749219873">
+              <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-297B8911F2D33E5F7213175749219874">
+                 <wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1">BaA/2+IZ8kYoENnGHL4K7unfywk=</wsse:KeyIdentifier>
+              </wsse:SecurityTokenReference>
+           </ds:KeyInfo>
+        </ds:Signature>
+     </wsse:Security>
+     <wsa:Action>urn:echoResponse</wsa:Action>
+     <wsa:RelatesTo>urn:uuid:2f08b4d8-4a46-439c-bd89-e6eb0a6f227c</wsa:RelatesTo>
+  </soapenv:Header>
+  <soapenv:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Id-2097953288">
+     <ns:echoResponse xmlns:ns="http://sample09.policy.samples.rampart.apache.org">
+        <ns:return>Hello world</ns:return>
+     </ns:echoResponse>
+  </soapenv:Body>
+</soapenv:Envelope>
diff --git a/modules/documentation/src/site/resources/samples/msgs/rst04.xml b/src/site/resources/samples/msgs/rst04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/rst04.xml
rename to src/site/resources/samples/msgs/rst04.xml
diff --git a/modules/documentation/src/site/resources/samples/msgs/rstr04.xml b/src/site/resources/samples/msgs/rstr04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/msgs/rstr04.xml
rename to src/site/resources/samples/msgs/rstr04.xml
diff --git a/modules/documentation/src/site/resources/samples/policy/sample01.xml b/src/site/resources/samples/policy/sample01.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/policy/sample01.xml
rename to src/site/resources/samples/policy/sample01.xml
diff --git a/modules/documentation/src/site/resources/samples/policy/sample02.xml b/src/site/resources/samples/policy/sample02.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/policy/sample02.xml
rename to src/site/resources/samples/policy/sample02.xml
diff --git a/modules/documentation/src/site/resources/samples/policy/sample03.xml b/src/site/resources/samples/policy/sample03.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/policy/sample03.xml
rename to src/site/resources/samples/policy/sample03.xml
diff --git a/modules/documentation/src/site/resources/samples/policy/sample04.xml b/src/site/resources/samples/policy/sample04.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/policy/sample04.xml
rename to src/site/resources/samples/policy/sample04.xml
diff --git a/modules/documentation/src/site/resources/samples/policy/sample05.xml b/src/site/resources/samples/policy/sample05.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/policy/sample05.xml
rename to src/site/resources/samples/policy/sample05.xml
diff --git a/modules/documentation/src/site/resources/samples/policy/sample06.xml b/src/site/resources/samples/policy/sample06.xml
similarity index 100%
rename from modules/documentation/src/site/resources/samples/policy/sample06.xml
rename to src/site/resources/samples/policy/sample06.xml
diff --git a/src/site/site.xml b/src/site/site.xml
new file mode 100644
index 0000000..7f3505f
--- /dev/null
+++ b/src/site/site.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  ~  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 name="Apache Rampart">
+
+    <bannerLeft>
+        <src>images/apache-rampart-logo.jpg</src>
+    </bannerLeft>
+
+    <bannerRight>
+        <src>http://www.apache.org/images/asf_logo_wide.png</src>
+        <href>http://www.apache.org</href>
+    </bannerRight>
+
+    <skin>
+        <groupId>org.apache.maven.skins</groupId>
+        <artifactId>maven-fluido-skin</artifactId>
+        <version>1.4</version>
+    </skin>
+
+    <publishDate format="dd MMM yyyy"/>
+
+    <body>
+        <links>
+            <item name="Apache Axis2/Java" href="http://axis.apache.org/axis2/java/core/" />
+        </links>
+        
+        <menu name="Apache Rampart">
+            <item name="Home" href="index.html" />
+            <item name="Downloads" href="javascript:void(0)">
+                <item name="Releases" href="download.html"/>
+                <item name="Source Code" href="svn.html"/>
+            </item>
+            <item name="Release Notes" href="javascript:void(0)">
+                <item name="1.6.1" href="release-notes/1.6.1.html"/>
+                <item name="1.6.2" href="release-notes/1.6.2.html"/>
+                <item name="1.6.3" href="release-notes/1.6.3.html"/>
+                <item name="1.6.4" href="release-notes/1.6.4.html"/>
+                <item name="1.7.0" href="release-notes/1.7.0.html"/>
+            </item>
+        </menu>
+        <menu name="Documentation">
+            <item name="Getting Started" href="quick-start.html"/>
+            <item name="Samples" href="samples.html"/>
+            <item name="FAQ" href="http://wiki.apache.org/ws/FrontPage/Rampart/FAQ"/>
+            <item name="Rampart Configuration" href="rampartconfig-guide.html"/>
+            <item name="STS Configuration" href="setting-up-sts.html"/>
+            <item name="Developer Guide" href="developer-guide.html"/>
+            <item name="Build the Site" href="siteHowTo.html" /> 
+        </menu>
+        <menu name="Resources">
+            <item name="Articles" href="articles.html" />
+            <item name="Specifications" href="specifications.html"/>
+            <item name="Online Javadocs" href="apidocs/index.html"/>
+        </menu>
+        <menu name="Project Information">
+            <item name="Project Team" href="team-list.html" />
+            <item name="Issue Tracking" href="http://issues.apache.org/jira/browse/Rampart" />
+            <item name="Mailing Lists" href="mail-lists.html"/>
+            <item name="Source Code" href="http://svn.apache.org/viewvc/axis/axis2/java/rampart/" />
+            <item name="License" href="http://www.apache.org/licenses/"/>
+            <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html"/>
+            <item name="Thanks" href="http://www.apache.org/foundation/thanks.html"/>
+            <item name="Security" href="http://www.apache.org/security/"/>
+        </menu>
+    </body>
+</project>
diff --git a/modules/documentation/src/site/xdoc/articles.xml b/src/site/xdoc/articles.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/articles.xml
rename to src/site/xdoc/articles.xml
diff --git a/modules/documentation/src/site/xdoc/developer-guide.xml b/src/site/xdoc/developer-guide.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/developer-guide.xml
rename to src/site/xdoc/developer-guide.xml
diff --git a/modules/documentation/src/site/xdoc/quick-start.xml b/src/site/xdoc/quick-start.xml
similarity index 93%
rename from modules/documentation/src/site/xdoc/quick-start.xml
rename to src/site/xdoc/quick-start.xml
index a5d41cc..90db940 100644
--- a/modules/documentation/src/site/xdoc/quick-start.xml
+++ b/src/site/xdoc/quick-start.xml
@@ -11,7 +11,7 @@
 		<p>Steps to install</p>
 		<ol>
 			<li>If you haven't installed Axis2, then download and extract the standard binary distribution. Make sure you have set the AXIS2_HOME environment variable</li>
-			<li>Run ant from the "samples" directory to copy the required libraries and modules to relevant directories in AXIS2_HOME.</li>
+			<li>Run ant from the top level directory of the Rampart distribution to copy the required libraries and modules to relevant directories in AXIS2_HOME.</li>
 		</ol>
 		<p></p>
 
diff --git a/modules/documentation/src/site/xdoc/rampartconfig-guide.xml b/src/site/xdoc/rampartconfig-guide.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/rampartconfig-guide.xml
rename to src/site/xdoc/rampartconfig-guide.xml
diff --git a/modules/documentation/src/site/xdoc/samples.xml b/src/site/xdoc/samples.xml
similarity index 97%
rename from modules/documentation/src/site/xdoc/samples.xml
rename to src/site/xdoc/samples.xml
index 574d7f7..73565fb 100644
--- a/modules/documentation/src/site/xdoc/samples.xml
+++ b/src/site/xdoc/samples.xml
@@ -29,6 +29,7 @@
         <h2> Policy samples </h2>
         <p>These samples use WS Security Policy Language for configuration. It is recommended to use policy based configuration model for all production scenarios </p>
         <h3>Running Samples</h3>
+        <p>Before beginning, please install Rampart as described <a href="quick-start.html">here</a>.</p>
         <p>Now we'll look at how to run the first sample inside samples/policy folder.</p>
         <ol>
             <li>Open a console and change the directory to sample/policy and give the following command. This will start the server at port 8080</li>
diff --git a/modules/documentation/src/site/xdoc/setting-up-sts.xml b/src/site/xdoc/setting-up-sts.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/setting-up-sts.xml
rename to src/site/xdoc/setting-up-sts.xml
diff --git a/modules/documentation/src/site/xdoc/siteHowTo.xml b/src/site/xdoc/siteHowTo.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/siteHowTo.xml
rename to src/site/xdoc/siteHowTo.xml
diff --git a/modules/documentation/src/site/xdoc/specifications.xml b/src/site/xdoc/specifications.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/specifications.xml
rename to src/site/xdoc/specifications.xml
diff --git a/modules/documentation/src/site/xdoc/svn.xml b/src/site/xdoc/svn.xml
similarity index 100%
rename from modules/documentation/src/site/xdoc/svn.xml
rename to src/site/xdoc/svn.xml