diff --git a/build.gradle b/build.gradle
index a95abc58..5da3fc30 100644
--- a/build.gradle
+++ b/build.gradle
@@ -11,7 +11,7 @@ buildscript {
configure(allprojects) {
group = "org.springframework.ws"
- ext.springVersion = "3.2.4.RELEASE"
+ ext.springVersion = "4.0.3.RELEASE"
ext.axiomVersion = "1.2.14"
apply plugin: "java"
@@ -55,6 +55,7 @@ configure(allprojects) {
}
repositories {
+ mavenLocal()
maven { url 'http://repo.spring.io/libs-release' }
}
@@ -64,8 +65,8 @@ configure(allprojects) {
testCompile("junit:junit:4.10")
testCompile("org.easymock:easymock:3.1")
- testCompile("xmlunit:xmlunit:1.1")
- testRuntime("org.codehaus.woodstox:woodstox-core-asl:4.1.3")
+ testCompile("xmlunit:xmlunit:1.5")
+ testRuntime("org.codehaus.woodstox:woodstox-core-asl:4.2.0")
}
ext.javadocLinks = [
@@ -175,7 +176,7 @@ project('spring-ws-core') {
optional("wsdl4j:wsdl4j:1.6.1")
// Transport
- provided("javax.servlet:servlet-api:2.5")
+ provided("javax.servlet:javax.servlet-api:3.1.0")
optional("org.apache.httpcomponents:httpclient:4.2.5")
optional("commons-httpclient:commons-httpclient:3.1")
testCompile("org.mortbay.jetty:jetty:6.1.26")
@@ -251,7 +252,7 @@ project('spring-ws-test') {
compile("org.springframework:spring-context:$springVersion")
- compile("xmlunit:xmlunit:1.1")
+ compile("xmlunit:xmlunit:1.5")
testCompile("org.springframework:spring-test:$springVersion")
}
diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomHandler.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomHandler.java
index f742a2fd..20b3ea27 100644
--- a/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomHandler.java
+++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/axiom/AxiomHandler.java
@@ -20,12 +20,10 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamConstants;
-import org.springframework.util.Assert;
-import org.springframework.xml.namespace.QNameUtils;
-
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
@@ -37,145 +35,190 @@ import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.ext.LexicalHandler;
+import org.springframework.util.Assert;
+import org.springframework.xml.namespace.QNameUtils;
+
/**
- * Specific SAX {@link ContentHandler} and {@link LexicalHandler} that adds the resulting AXIOM OMElement to a specified
- * parent element when endDocument is called. Used for returing SAXResults from Axiom
- * elements.
- *
+ * Specific SAX {@link ContentHandler} and {@link LexicalHandler} that adds the resulting
+ * AXIOM OMElement to a specified parent element when endDocument is called.
+ * Used for returing SAXResults from Axiom elements.
* @author Arjen Poutsma
* @since 1.0.0
*/
class AxiomHandler implements ContentHandler, LexicalHandler {
- private final OMFactory factory;
+ private final OMFactory factory;
- private final List elements = new ArrayList();
+ private final List elements = new ArrayList();
- private Map namespaces = new HashMap();
+ private final OMContainer container;
- private final OMContainer container;
+ private int charactersType = XMLStreamConstants.CHARACTERS;
- private int charactersType = XMLStreamConstants.CHARACTERS;
+ private List