Eliminate usages of deprecated Axiom APIs.
diff --git a/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java b/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
index bdaf038..76a3c07 100644
--- a/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
+++ b/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
@@ -22,8 +22,6 @@
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.util.AttributeHelper;
-import org.apache.axiom.om.util.ElementHelper;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPFault;
@@ -333,14 +331,14 @@
                     if (!isAddressingHeaderAlreadyAvailable(Final.FAULT_HEADER_DETAIL, false)) {
                         SOAPHeaderBlock faultDetail = header.addHeaderBlock(
                                 Final.FAULT_HEADER_DETAIL, addressingNamespaceObject);
-                        faultDetail.addChild(ElementHelper.importOMElement(detailElement, factory));
+                        faultDetail.addChild((OMElement)factory.importInformationItem(detailElement));
                     }
                 } else if (!messageContext.isSOAP11()) {
                     // Add detail to the Fault in the SOAP Body
                     SOAPFault fault = envelope.getBody().getFault();
                     if (fault != null && fault.getDetail() != null) {
                         fault.getDetail().addDetailEntry(
-                                ElementHelper.importOMElement(detailElement, factory));
+                                (OMElement)factory.importInformationItem(detailElement));
                     }
                 }
             }
@@ -428,7 +426,7 @@
             }
         }
 
-        private OMElement createSOAPHeaderBlock(String value, String headerName, ArrayList attributes) {
+        private OMElement createSOAPHeaderBlock(String value, String headerName, ArrayList<OMAttribute> attributes) {
             if (LoggingControl.debugLoggingAllowed && log.isTraceEnabled()) {
                 log.trace("createSOAPHeaderBlock: value=" + value + " headerName=" + headerName);
             }
@@ -437,10 +435,10 @@
                         header.addHeaderBlock(headerName, addressingNamespaceObject);
                 soapHeaderBlock.addChild(factory.createOMText(value));
                 if (attributes != null && !attributes.isEmpty()) {
-                    Iterator attrIterator = attributes.iterator();
+                    Iterator<OMAttribute> attrIterator = attributes.iterator();
                     while (attrIterator.hasNext()) {
-                        AttributeHelper
-                                .importOMAttribute((OMAttribute)attrIterator.next(), soapHeaderBlock);
+                        soapHeaderBlock.addAttribute(
+                                (OMAttribute)soapHeaderBlock.getOMFactory().importInformationItem(attrIterator.next()));
                     }
                 }
                 addRoleToHeader(soapHeaderBlock);
@@ -503,7 +501,7 @@
                 Iterator iterator = referenceInformation.values().iterator();
                 while (iterator.hasNext()) {
                     OMElement omElement = (OMElement)iterator.next();
-                    SOAPHeaderBlock newElement = ElementHelper.toSOAPHeaderBlock(omElement, factory);
+                    SOAPHeaderBlock newElement = factory.createSOAPHeaderBlock(omElement);
                     if (isFinalAddressingNamespace) {
                         newElement.addAttribute(Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE,
                                                Final.WSA_TYPE_ATTRIBUTE_VALUE,
@@ -529,7 +527,7 @@
                             // Only add the reference parameter from the WSDL if it does not already exist.
                             // This allows clients to override the values before invoking the service.
                             if (referenceInformation == null || !referenceInformation.containsKey(omElement.getQName())) {
-                                SOAPHeaderBlock newElement = ElementHelper.toSOAPHeaderBlock(omElement, factory);
+                                SOAPHeaderBlock newElement = factory.createSOAPHeaderBlock(omElement);
                                 if (isFinalAddressingNamespace) {
                                     newElement.addAttribute(Final.WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE,
                                                             Final.WSA_TYPE_ATTRIBUTE_VALUE,
diff --git a/modules/kernel/pom.xml b/modules/kernel/pom.xml
index ce25a9b..ca6865a 100644
--- a/modules/kernel/pom.xml
+++ b/modules/kernel/pom.xml
@@ -101,6 +101,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.ws.commons.axiom</groupId>
+            <artifactId>axiom-truth</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
             <scope>test</scope>
diff --git a/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java b/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java
index e5efba7..b5431b2 100644
--- a/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java
+++ b/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java
@@ -25,8 +25,6 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.util.AXIOMUtil;
-import org.apache.axiom.om.util.AttributeHelper;
-import org.apache.axiom.om.util.ElementHelper;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.metadata.InterfaceName;
@@ -215,7 +213,7 @@
                 Iterator attrIter = addressAttributes.iterator();
                 while (attrIter.hasNext()) {
                     OMAttribute omAttribute = (OMAttribute) attrIter.next();
-                    AttributeHelper.importOMAttribute(omAttribute, addressE);
+                    addressE.addAttribute((OMAttribute)factory.importInformationItem(omAttribute));
                 }
             }
 
@@ -226,7 +224,7 @@
                         AddressingConstants.Final.WSA_METADATA, wsaNS, eprElement);
                 for (int i = 0, size = metaData.size(); i < size; i++) {
                     OMElement omElement = (OMElement) metaData.get(i);
-                    metadataE.addChild(ElementHelper.importOMElement(omElement, factory));
+                    metadataE.addChild((OMElement)factory.importInformationItem(omElement));
                 }
 
                 ArrayList metadataAttributes = epr.getMetadataAttributes();
@@ -234,7 +232,7 @@
                     Iterator attrIter = metadataAttributes.iterator();
                     while (attrIter.hasNext()) {
                         OMAttribute omAttribute = (OMAttribute) attrIter.next();
-                        AttributeHelper.importOMAttribute(omAttribute, metadataE);
+                        metadataE.addAttribute((OMAttribute)factory.importInformationItem(omAttribute));
                     }
                 }
             }
@@ -247,7 +245,7 @@
                 Iterator iterator = referenceParameters.values().iterator();
                 while (iterator.hasNext()) {
                     OMElement omElement = (OMElement) iterator.next();
-                    refParameterElement.addChild(ElementHelper.importOMElement(omElement, factory));
+                    refParameterElement.addChild((OMElement)factory.importInformationItem(omElement));
                 }
             }
 
@@ -255,7 +253,7 @@
             if (attributes != null) {
                 for (int i = 0, size = attributes.size(); i < size; i++) {
                     OMAttribute omAttribute = (OMAttribute) attributes.get(i);
-                    AttributeHelper.importOMAttribute(omAttribute, eprElement);
+                    eprElement.addAttribute((OMAttribute)factory.importInformationItem(omAttribute));
                 }
             }
 
@@ -264,7 +262,7 @@
             if (extensibleElements != null) {
                 for (int i = 0, size = extensibleElements.size(); i < size; i++) {
                     OMElement omElement = (OMElement) extensibleElements.get(i);
-                    eprElement.addChild(ElementHelper.importOMElement(omElement, factory));
+                    eprElement.addChild((OMElement)factory.importInformationItem(omElement));
                 }
             }
         } else {
diff --git a/modules/kernel/test/org/apache/axis2/addressing/EndpointReferenceHelperTest.java b/modules/kernel/test/org/apache/axis2/addressing/EndpointReferenceHelperTest.java
index f161e09..b3d9972 100644
--- a/modules/kernel/test/org/apache/axis2/addressing/EndpointReferenceHelperTest.java
+++ b/modules/kernel/test/org/apache/axis2/addressing/EndpointReferenceHelperTest.java
@@ -29,6 +29,9 @@
 
 import javax.xml.namespace.QName;
 
+import static com.google.common.truth.Truth.assertAbout;
+import static org.apache.axiom.truth.xml.XMLTruth.xml;
+
 import java.util.ArrayList;
 import java.util.Map;
 
@@ -81,7 +84,7 @@
         EndpointReference deser = EndpointReferenceHelper.fromOM(om);
 
         assertEquals(epr.getAddress(), deser.getAddress());
-        ArrayList addrAttrs = deser.getAddressAttributes();
+        ArrayList<OMAttribute> addrAttrs = deser.getAddressAttributes();
         compareAttributes(attr1, (OMAttribute)addrAttrs.get(0));
         compareAttributes(attr2, (OMAttribute)addrAttrs.get(1));
 
@@ -90,15 +93,15 @@
         compareAttributes(attr2, (OMAttribute)attrs.get(1));
 
         ArrayList metadata = deser.getMetaData();
-        assertEquals(md1, metadata.get(0));
-        assertEquals(md2, metadata.get(1));
+        assertAbout(xml()).that(metadata.get(0)).hasSameContentAs(md1);
+        assertAbout(xml()).that(metadata.get(1)).hasSameContentAs(md2);
         ArrayList mdAttrs = deser.getMetadataAttributes();
         compareAttributes(attr1, (OMAttribute)mdAttrs.get(0));
         compareAttributes(attr2, (OMAttribute)mdAttrs.get(1));
 
         ArrayList extelts = deser.getExtensibleElements();
-        assertEquals(ext1, extelts.get(0));
-        assertEquals(ext2, extelts.get(1));
+        assertAbout(xml()).that(extelts.get(0)).hasSameContentAs(ext1);
+        assertAbout(xml()).that(extelts.get(1)).hasSameContentAs(ext2);
 
         Map m = deser.getAllReferenceParameters();
         assertEquals("rp1", ((OMElement) m.get(rp1Qname)).getText());
@@ -110,23 +113,23 @@
 
         assertEquals(epr.getAddress(), deser.getAddress());
         addrAttrs = deser.getAddressAttributes();
-        assertEquals(attr1, addrAttrs.get(0));
-        assertEquals(attr2, addrAttrs.get(1));
+        compareAttributes(attr1, addrAttrs.get(0));
+        compareAttributes(attr2, addrAttrs.get(1));
 
         attrs = deser.getAttributes();
         compareAttributes(attr1, (OMAttribute)attrs.get(0));
         compareAttributes(attr2, (OMAttribute)attrs.get(1));
 
         metadata = deser.getMetaData();
-        assertEquals(md1, metadata.get(0));
-        assertEquals(md2, metadata.get(1));
+        assertAbout(xml()).that(metadata.get(0)).hasSameContentAs(md1);
+        assertAbout(xml()).that(metadata.get(1)).hasSameContentAs(md2);
         mdAttrs = deser.getMetadataAttributes();
         compareAttributes(attr1, (OMAttribute)mdAttrs.get(0));
         compareAttributes(attr2, (OMAttribute)mdAttrs.get(1));
 
         extelts = deser.getExtensibleElements();
-        assertEquals(ext1, extelts.get(0));
-        assertEquals(ext2, extelts.get(1));
+        assertAbout(xml()).that(extelts.get(0)).hasSameContentAs(ext1);
+        assertAbout(xml()).that(extelts.get(1)).hasSameContentAs(ext2);
 
         m = deser.getAllReferenceParameters();
         assertEquals("rp1", ((OMElement) m.get(rp1Qname)).getText());
@@ -204,8 +207,8 @@
         assertNull(metadata);
 
         ArrayList extelts = deser.getExtensibleElements();
-        assertEquals(ext1, extelts.get(0));
-        assertEquals(ext2, extelts.get(1));
+        assertAbout(xml()).that(extelts.get(0)).hasSameContentAs(ext1);
+        assertAbout(xml()).that(extelts.get(1)).hasSameContentAs(ext2);
 
         //All reference properties are returned as reference parameters.
         Map m = deser.getAllReferenceParameters();
@@ -233,8 +236,8 @@
         assertNull(metadata);
 
         extelts = deser.getExtensibleElements();
-        assertEquals(ext1, extelts.get(0));
-        assertEquals(ext2, extelts.get(1));
+        assertAbout(xml()).that(extelts.get(0)).hasSameContentAs(ext1);
+        assertAbout(xml()).that(extelts.get(1)).hasSameContentAs(ext2);
 
         //All reference properties are returned as reference parameters.
         m = deser.getAllReferenceParameters();