You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2014/06/23 18:25:29 UTC

svn commit: r1604867 - in /webservices/axiom/trunk: modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/ modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/ modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/...

Author: veithen
Date: Mon Jun 23 16:25:28 2014
New Revision: 1604867

URL: http://svn.apache.org/r1604867
Log:
* Update ConvertedTestMessage to convert SOAP 1.2 faults to SOAP 1.1.
* Partially replace the old message.xml test message with a better defined test message.

Added:
    webservices/axiom/trunk/testsuites/soap-testsuite/src/main/resources/test-message/set/simple-fault.xml   (with props)
Modified:
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParserOptimized.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java
    webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java
    webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedTestMessage.java
    webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java
    webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/TestMessageSet.java

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestGetFaultWithParser.java Mon Jun 23 16:25:28 2014
@@ -23,6 +23,8 @@ import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPConstants;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetFaultWithParser extends SOAPTestCase {
     public TestGetFaultWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -30,7 +32,7 @@ public class TestGetFaultWithParser exte
     }
 
     protected void runTest() throws Throwable {
-        SOAPBody body = getTestMessage(MESSAGE).getBody();
+        SOAPBody body = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody();
         assertNotNull(
                 "Body Test With parser :- getFault method returns null",
                 body.getFault());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/body/TestHasFaultWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestHasFaultWithParser extends SOAPTestCase {
     public TestHasFaultWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -29,7 +31,7 @@ public class TestHasFaultWithParser exte
     }
 
     protected void runTest() throws Throwable {
-        SOAPBody body = getTestMessage(MESSAGE).getBody();
+        SOAPBody body = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody();
         assertTrue(
                 "Body Test With parser :- hasFault method returns false",
                 body.hasFault());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestDetach.java Mon Jun 23 16:25:28 2014
@@ -24,6 +24,8 @@ import org.apache.axiom.om.OMNode;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 /**
  * Tests {@link OMNode#detach()} when used on a {@link SOAPEnvelope}. Older Axiom versions threw an
@@ -36,7 +38,7 @@ public class TestDetach extends SOAPTest
     }
 
     protected void runTest() throws Throwable {
-        SOAPEnvelope envelope = getTestMessage(MESSAGE);
+        SOAPEnvelope envelope = TestMessageSet.NO_HEADER.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory);
         OMDocument document = (OMDocument)envelope.getParent();
         envelope.detach();
         assertNull(envelope.getParent());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestGetBodyWithParser.java Mon Jun 23 16:25:28 2014
@@ -24,6 +24,8 @@ import org.apache.axiom.soap.SOAPConstan
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetBodyWithParser extends SOAPTestCase {
     public TestGetBodyWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -31,7 +33,7 @@ public class TestGetBodyWithParser exten
     }
 
     protected void runTest() throws Throwable {
-        SOAPEnvelope envelope = getTestMessage(MESSAGE);
+        SOAPEnvelope envelope = TestMessageSet.NO_HEADER.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory);
         SOAPBody body = envelope.getBody();
         assertEquals("Body Test : - Body local name mismatch",
                 SOAPConstants.BODY_LOCAL_NAME, body.getLocalName());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestHasFaultWithParser extends SOAPTestCase {
     public TestHasFaultWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -29,7 +31,7 @@ public class TestHasFaultWithParser exte
     }
 
     protected void runTest() throws Throwable {
-        SOAPEnvelope env = getTestMessage(MESSAGE);
+        SOAPEnvelope env = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory);
         assertTrue(env.hasFault());
     }
 }

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParserOptimized.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParserOptimized.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParserOptimized.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParserOptimized.java Mon Jun 23 16:25:28 2014
@@ -21,7 +21,6 @@ package org.apache.axiom.ts.soap.envelop
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 
-import org.apache.axiom.om.AbstractTestCase;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.om.util.StAXUtils;
@@ -30,6 +29,7 @@ import org.apache.axiom.soap.SOAPEnvelop
 import org.apache.axiom.soap.SOAPModelBuilder;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestHasFaultWithParserOptimized extends SOAPTestCase {
     public TestHasFaultWithParserOptimized(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -42,7 +42,7 @@ public class TestHasFaultWithParserOptim
         // implementation.
         
         XMLStreamReader soap11Parser = StAXUtils.createXMLStreamReader(
-                AbstractTestCase.getTestResource("soap/" + spec.getName() + "/" + MESSAGE), null);
+                TestMessageSet.SIMPLE_FAULT.getMessage(spec).getInputStream(), null);
         QName qname = new QName(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI, SOAP11Constants.BODY_FAULT_LOCAL_NAME, "SOAP-ENV");
         XMLStreamReaderWithQName parser = new XMLStreamReaderWithQName(soap11Parser, qname);
         SOAPModelBuilder soap11Builder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(metaFactory, parser);

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetCodeWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetCodeWithParser extends SOAPTestCase {
     public TestGetCodeWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -29,7 +31,7 @@ public class TestGetCodeWithParser exten
     }
 
     protected void runTest() throws Throwable {
-        SOAPFault soapFaultWithParser = getTestMessage(MESSAGE).getBody().getFault();
+        SOAPFault soapFaultWithParser = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault();
         assertNotNull(
                 "Fault Test with parser: - getCode method returns null",
                 soapFaultWithParser.getCode());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetDetailWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetDetailWithParser extends SOAPTestCase {
     public TestGetDetailWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -29,7 +31,7 @@ public class TestGetDetailWithParser ext
     }
 
     protected void runTest() throws Throwable {
-        SOAPFault soapFaultWithParser = getTestMessage(MESSAGE).getBody().getFault();
+        SOAPFault soapFaultWithParser = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault();
         assertNotNull(
                 "Fault Test with parser: - getDetail method returns null",
                 soapFaultWithParser.getDetail());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetReasonWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPFault;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetReasonWithParser extends SOAPTestCase {
     public TestGetReasonWithParser(OMMetaFactory metaFactory, SOAPSpec spec) {
@@ -29,7 +31,7 @@ public class TestGetReasonWithParser ext
     }
 
     protected void runTest() throws Throwable {
-        SOAPFault soapFaultWithParser = getTestMessage(MESSAGE).getBody().getFault();
+        SOAPFault soapFaultWithParser = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault();
         assertNotNull(
                 "Fault Test with parser: - getReason method returns null",
                 soapFaultWithParser.getReason());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/faultcode/TestGetValueAsQNameWithParser.java Mon Jun 23 16:25:28 2014
@@ -25,6 +25,8 @@ import org.apache.axiom.soap.SOAPFaultCl
 import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 /**
  * Tests the behavior of {@link SOAPFaultClassifier#getValueAsQName()} on a {@link SOAPFaultCode}.
@@ -35,7 +37,7 @@ public class TestGetValueAsQNameWithPars
     }
 
     protected void runTest() throws Throwable {
-        SOAPFaultCode faultCode = getTestMessage(MESSAGE).getBody().getFault().getCode();
-        assertEquals(new QName(spec.getEnvelopeNamespaceURI(), "Sender"), faultCode.getValueAsQName());
+        SOAPFaultCode faultCode = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault().getCode();
+        assertEquals(new QName(spec.getEnvelopeNamespaceURI(), "Receiver"), faultCode.getValueAsQName());
     }
 }

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/header/TestDiscardIncomplete.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 // Regression test for AXIOM-223 (see r567512)
 public class TestDiscardIncomplete extends SOAPTestCase {
@@ -30,7 +32,7 @@ public class TestDiscardIncomplete exten
     }
 
     protected void runTest() throws Throwable {
-        SOAPEnvelope envelope = getTestMessage(MESSAGE);
+        SOAPEnvelope envelope = TestMessageSet.WSA.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory);
         envelope.getHeader().discard();
         envelope.getBody().toStringWithConsume();
     }

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap11/faultcode/TestGetValueWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetValueWithParser extends SOAPTestCase {
     public TestGetValueWithParser(OMMetaFactory metaFactory) {
@@ -29,7 +31,7 @@ public class TestGetValueWithParser exte
     }
 
     protected void runTest() throws Throwable {
-        SOAPFaultCode code = getTestMessage(MESSAGE).getBody().getFault().getCode();
+        SOAPFaultCode code = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault().getCode();
         assertNull(code.getValue());
     }
 }

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultcode/TestGetValueWithParser.java Mon Jun 23 16:25:28 2014
@@ -23,6 +23,8 @@ import org.apache.axiom.soap.SOAP12Const
 import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetValueWithParser extends SOAPTestCase {
     public TestGetValueWithParser(OMMetaFactory metaFactory) {
@@ -30,7 +32,7 @@ public class TestGetValueWithParser exte
     }
 
     protected void runTest() throws Throwable {
-        SOAPFaultCode faultCode = getTestMessage(MESSAGE).getBody().getFault().getCode();
+        SOAPFaultCode faultCode = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault().getCode();
         assertNotNull(
                 "SOAP 1.2 Fault Code Test with parser : - getValue method returns null",
                 faultCode.getValue());

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faultreason/TestGetFirstSOAPTextWithParser.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,8 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.soap.SOAPFaultReason;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetFirstSOAPTextWithParser extends SOAPTestCase {
     public TestGetFirstSOAPTextWithParser(OMMetaFactory metaFactory) {
@@ -29,7 +31,7 @@ public class TestGetFirstSOAPTextWithPar
     }
 
     protected void runTest() throws Throwable {
-        SOAPFaultReason faultReason = getTestMessage(MESSAGE).getBody().getFault().getReason();
+        SOAPFaultReason faultReason = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault().getReason();
         assertFalse(
                 "SOAP 1.2 FaultReason Test With Parser : - getFirstSOAPText method returns null",
                 faultReason.getFirstSOAPText() == null);

Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap12/faulttext/TestGetLangWithParser.java Mon Jun 23 16:25:28 2014
@@ -24,6 +24,8 @@ import org.apache.axiom.soap.SOAP12Const
 import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.ts.soap.SOAPSpec;
 import org.apache.axiom.ts.soap.SOAPTestCase;
+import org.apache.axiom.ts.soap.TestMessageAdapter;
+import org.apache.axiom.ts.soap.TestMessageSet;
 
 public class TestGetLangWithParser extends SOAPTestCase {
     public TestGetLangWithParser(OMMetaFactory metaFactory) {
@@ -31,7 +33,7 @@ public class TestGetLangWithParser exten
     }
 
     protected void runTest() throws Throwable {
-        SOAPFaultText faultText = getTestMessage(MESSAGE).getBody().getFault().getReason().getFirstSOAPText();
+        SOAPFaultText faultText = TestMessageSet.SIMPLE_FAULT.getMessage(spec).getAdapter(TestMessageAdapter.class).getSOAPEnvelope(metaFactory).getBody().getFault().getReason().getFirstSOAPText();
         assertTrue(
                 "SOAP 1.2 Fault Text Test With Parser : - getLang method returns incorrect string",
                 faultText.getLang().equals("en"));

Modified: webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedTestMessage.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedTestMessage.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedTestMessage.java (original)
+++ webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/ConvertedTestMessage.java Mon Jun 23 16:25:28 2014
@@ -22,6 +22,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 
+import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
@@ -54,48 +55,73 @@ final class ConvertedTestMessage extends
                 } finally {
                     in.close();
                 }
-                processEnvelope(document.getDocumentElement());
+                processSOAPElement(document.getDocumentElement(), SOAPElementType.ENVELOPE);
                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
                 TransformerFactory.newInstance().newTransformer().transform(
                         new DOMSource(document),
                         new StreamResult(baos));
                 content = baos.toByteArray();
             } catch (Exception ex) {
-                throw new Error("Error converting SOAP message");
+                throw new Error("Error converting SOAP message", ex);
             }
         }
         return new ByteArrayInputStream(content);
     }
     
-    private static void processEnvelope(Element envelope) {
-        NodeList children = changeSOAPNamespace(envelope).getChildNodes();
-        for (int i=0; i<children.getLength(); i++) {
-            Node child = children.item(i);
-            if (child.getNodeType() == Node.ELEMENT_NODE) {
-                Element childElement = (Element)child;
-                String localName = childElement.getLocalName();
-                if (localName.equals("Header")) {
-                    processHeader(childElement);
-                } else if (localName.equals("Body")) {
-                    processBody(childElement);
+    private static void processSOAPElement(Element element, SOAPElementType type) {
+        QName newName = type.getQName(SOAPSpec.SOAP11);
+        String prefix = element.getPrefix();
+        if (newName.getNamespaceURI().isEmpty()) {
+            prefix = null;
+        }
+        element = (Element)element.getOwnerDocument().renameNode(element, newName.getNamespaceURI(),
+                prefix == null ? newName.getLocalPart() : prefix + ":" + newName.getLocalPart());
+        if (type == SOAPFaultChild.CODE) {
+            Element value = getChild(element, SOAPFaultChild.VALUE);
+            // TODO: should translate fault code as well
+            element.setTextContent(value.getTextContent());
+        } else if (type == SOAPFaultChild.REASON) {
+            Element text = getChild(element, SOAPFaultChild.TEXT);
+            element.setTextContent(text.getTextContent());
+        } else {
+            SOAPElementType[] childTypes = type.getChildTypes();
+            if (childTypes.length != 0) {
+                NodeList children = element.getChildNodes();
+                for (int i=0; i<children.getLength(); i++) {
+                    Node child = children.item(i);
+                    if (child.getNodeType() == Node.ELEMENT_NODE) {
+                        Element childElement = (Element)child;
+                        for (SOAPElementType childType : childTypes) {
+                            if (hasName(childElement, childType.getQName(SOAPSpec.SOAP12))) {
+                                processSOAPElement(childElement, childType);
+                                break;
+                            }
+                        }
+                    }
                 }
             }
         }
     }
     
-    private static void processHeader(Element header) {
-        changeSOAPNamespace(header);
-        // TODO: need to transform mustUnderstand attributes
-    }
-    
-    private static void processBody(Element body) {
-        changeSOAPNamespace(body);
+    private static boolean hasName(Element element, QName name) {
+        String namespaceURI = element.getNamespaceURI();
+        if (namespaceURI == null) {
+            namespaceURI = "";
+        }
+        return namespaceURI.equals(name.getNamespaceURI()) && element.getLocalName().equals(name.getLocalPart());
     }
     
-    private static Element changeSOAPNamespace(Element element) {
-        if (!SOAPSpec.SOAP12.getEnvelopeNamespaceURI().equals(element.getNamespaceURI())) {
-            throw new Error("Unexpected namespace");
+    private static Element getChild(Element element, SOAPElementType type) {
+        NodeList children = element.getChildNodes();
+        for (int i=0; i<children.getLength(); i++) {
+            Node child = children.item(i);
+            if (child.getNodeType() == Node.ELEMENT_NODE) {
+                Element childElement = (Element)child;
+                if (hasName(childElement, type.getQName(SOAPSpec.SOAP12))) {
+                    return childElement;
+                }
+            }
         }
-        return (Element)element.getOwnerDocument().renameNode(element, SOAPSpec.SOAP11.getEnvelopeNamespaceURI(), element.getTagName());
+        return null;
     }
 }

Modified: webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java (original)
+++ webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementType.java Mon Jun 23 16:25:28 2014
@@ -18,6 +18,9 @@
  */
 package org.apache.axiom.ts.soap;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.xml.namespace.QName;
 
 public abstract class SOAPElementType extends Adaptable {
@@ -78,8 +81,32 @@ public abstract class SOAPElementType ex
         SOAPFaultChild.DETAIL,
     };
     
+    static {
+        addRelation(ENVELOPE, HEADER);
+        addRelation(ENVELOPE, BODY);
+        addRelation(BODY, FAULT);
+        addRelation(FAULT, SOAPFaultChild.CODE);
+        addRelation(SOAPFaultChild.CODE, SOAPFaultChild.VALUE);
+        addRelation(SOAPFaultChild.CODE, SOAPFaultChild.SUB_CODE);
+        addRelation(SOAPFaultChild.SUB_CODE, SOAPFaultChild.VALUE);
+        addRelation(SOAPFaultChild.SUB_CODE, SOAPFaultChild.SUB_CODE);
+        addRelation(FAULT, SOAPFaultChild.REASON);
+        addRelation(SOAPFaultChild.REASON, SOAPFaultChild.TEXT);
+        addRelation(FAULT, SOAPFaultChild.NODE);
+        addRelation(FAULT, SOAPFaultChild.ROLE);
+        addRelation(FAULT, SOAPFaultChild.DETAIL);
+    }
+    
+    private final List<SOAPElementType> parentTypes = new ArrayList<SOAPElementType>();
+    private final List<SOAPElementType> childTypes = new ArrayList<SOAPElementType>();
+    
     SOAPElementType() {}
     
+    private static void addRelation(SOAPElementType parentType, SOAPElementType childType) {
+        parentType.childTypes.add(childType);
+        childType.parentTypes.add(parentType);
+    }
+    
     public static SOAPElementType[] getAll() {
         return allTypes.clone();
     }
@@ -93,4 +120,12 @@ public abstract class SOAPElementType ex
      *         SOAP version
      */
     public abstract QName getQName(SOAPSpec spec);
+    
+    public SOAPElementType[] getParentTypes() {
+        return parentTypes.toArray(new SOAPElementType[parentTypes.size()]);
+    }
+    
+    public SOAPElementType[] getChildTypes() {
+        return childTypes.toArray(new SOAPElementType[childTypes.size()]);
+    }
 }

Modified: webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/TestMessageSet.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/TestMessageSet.java?rev=1604867&r1=1604866&r2=1604867&view=diff
==============================================================================
--- webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/TestMessageSet.java (original)
+++ webservices/axiom/trunk/testsuites/soap-testsuite/src/main/java/org/apache/axiom/ts/soap/TestMessageSet.java Mon Jun 23 16:25:28 2014
@@ -37,6 +37,12 @@ public final class TestMessageSet extend
      */
     public static final TestMessageSet COMMENT_IN_PROLOG = new TestMessageSet("comment-in-prolog");
     
+    /**
+     * A SOAP response with a simple SOAP fault containing a fault code (without subcode), reason
+     * (English only) and detail.
+     */
+    public static final TestMessageSet SIMPLE_FAULT = new TestMessageSet("simple-fault");
+    
     private final TestMessage soap11Message;
     private final TestMessage soap12Message;
     

Added: webservices/axiom/trunk/testsuites/soap-testsuite/src/main/resources/test-message/set/simple-fault.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testsuites/soap-testsuite/src/main/resources/test-message/set/simple-fault.xml?rev=1604867&view=auto
==============================================================================
--- webservices/axiom/trunk/testsuites/soap-testsuite/src/main/resources/test-message/set/simple-fault.xml (added)
+++ webservices/axiom/trunk/testsuites/soap-testsuite/src/main/resources/test-message/set/simple-fault.xml Mon Jun 23 16:25:28 2014
@@ -0,0 +1,16 @@
+<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
+    <s:Body>
+        <s:Fault>
+            <s:Code>
+                <s:Value>s:Receiver</s:Value>
+            </s:Code>
+            <s:Reason>
+                <s:Text xml:lang="en">Request execution failure caused by system error</s:Text>
+            </s:Reason>
+            <s:Detail>
+                <p:ErrorCode xmlns:p="http://example.org/system">TYG9034E</p:ErrorCode>
+                <p:Message xmlns:p="http://example.org/system">CPU quota exceeded</p:Message>
+            </s:Detail>
+        </s:Fault>
+    </s:Body>
+</s:Envelope>

Propchange: webservices/axiom/trunk/testsuites/soap-testsuite/src/main/resources/test-message/set/simple-fault.xml
------------------------------------------------------------------------------
    svn:eol-style = native