diff --git a/modules/core/src/main/java/org/apache/savan/atom/AtomEventingClient.java b/modules/core/src/main/java/org/apache/savan/atom/AtomEventingClient.java
index daa6877..1a3a056 100644
--- a/modules/core/src/main/java/org/apache/savan/atom/AtomEventingClient.java
+++ b/modules/core/src/main/java/org/apache/savan/atom/AtomEventingClient.java
@@ -115,7 +115,7 @@
 
 			return createFeedResponseDocument.getCreateFeedResponse();
 		} catch (XmlException e) {
-			throw new AxisFault(e);
+			throw AxisFault.makeFault(e);
 		}
 	}
 
diff --git a/modules/core/src/main/java/org/apache/savan/atom/AtomMessageReceiver.java b/modules/core/src/main/java/org/apache/savan/atom/AtomMessageReceiver.java
index c9c4001..4b2498d 100644
--- a/modules/core/src/main/java/org/apache/savan/atom/AtomMessageReceiver.java
+++ b/modules/core/src/main/java/org/apache/savan/atom/AtomMessageReceiver.java
@@ -145,11 +145,11 @@
 			
 		} catch (SOAPProcessingException e) {
 			e.printStackTrace();
-			throw new AxisFault(e);
+			throw AxisFault.makeFault(e);
 			
 		} catch (OMException e) {
 			e.printStackTrace();
-			throw new AxisFault(e);
+			throw  AxisFault.makeFault(e);
 //		} catch (FileNotFoundException e) {
 //			e.printStackTrace();
 //			throw new AxisFault(e);
diff --git a/modules/core/src/main/java/org/apache/savan/messagereceiver/PublishingMessageReceiver.java b/modules/core/src/main/java/org/apache/savan/messagereceiver/PublishingMessageReceiver.java
index 020c0dd..c8a82a9 100644
--- a/modules/core/src/main/java/org/apache/savan/messagereceiver/PublishingMessageReceiver.java
+++ b/modules/core/src/main/java/org/apache/savan/messagereceiver/PublishingMessageReceiver.java
@@ -68,9 +68,9 @@
 			PublicationClient client = new PublicationClient(serviceContext.getConfigurationContext());
 			client.sendPublication(eventData,serviceContext.getAxisService(),topic);
 		} catch (OMException e) {
-			throw new AxisFault(e);
+			throw AxisFault.makeFault(e);
 		} catch (URISyntaxException e) {
-			throw new AxisFault(e);
+			throw AxisFault.makeFault(e);
 		}
 	}
 }
diff --git a/modules/core/src/test/java/org/apache/axis2/savan/atom/PublisherService.java b/modules/core/src/test/java/org/apache/axis2/savan/atom/PublisherService.java
index 1cde14a..2bea86c 100644
--- a/modules/core/src/test/java/org/apache/axis2/savan/atom/PublisherService.java
+++ b/modules/core/src/test/java/org/apache/axis2/savan/atom/PublisherService.java
@@ -43,7 +43,7 @@
 			thread.start();
 			Thread.sleep(10000);
 		} catch (InterruptedException e) {
-			throw new AxisFault(e);
+			throw AxisFault.makeFault(e);
 		}
 	}
   
diff --git a/pom.xml b/pom.xml
index 83948a2..5e9b67d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,11 +69,13 @@
 	</reporting>
 	
 	<dependencies>
+	<!--
 		<dependency>
 			<groupId>org.apache.axis2</groupId>
 			<artifactId>axis2-addressing</artifactId>
 			<version>${axis2.version}</version>
 		</dependency>
+ -->		
 		<dependency>
 			<groupId>org.apache.axis2</groupId>
 			<artifactId>axis2-kernel</artifactId>
@@ -240,7 +242,7 @@
   	</modules>
 	
 	<properties>
-		<axis2.version>1.2</axis2.version>
+		<axis2.version>1.3</axis2.version>
 		<savan.version>SNAPSHOT</savan.version>
 	</properties>
 	
