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