diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/SaajMessageFactoryBean.java b/core/src/main/java/org/springframework/ws/soap/saaj/SaajMessageFactoryBean.java
deleted file mode 100644
index e8b016ef..00000000
--- a/core/src/main/java/org/springframework/ws/soap/saaj/SaajMessageFactoryBean.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.ws.soap.saaj;
-
-import javax.xml.soap.MessageFactory;
-
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.beans.factory.InitializingBean;
-
-/**
- * Spring FactoryBean for SAAJ MessageFactory objects.
- *
- * @author Arjen Poutsma
- * @see javax.xml.soap.MessageFactory
- */
-public class SaajMessageFactoryBean implements FactoryBean, InitializingBean {
-
- private MessageFactory messageFactory;
-
- public Object getObject() throws Exception {
- return messageFactory;
- }
-
- public Class getObjectType() {
- return MessageFactory.class;
- }
-
- public boolean isSingleton() {
- return true;
- }
-
- public void afterPropertiesSet() throws Exception {
- messageFactory = MessageFactory.newInstance();
- }
-}
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapEnvelope.java b/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapEnvelope.java
new file mode 100644
index 00000000..ed7b33a7
--- /dev/null
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapEnvelope.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2006 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.ws.soap.saaj;
+
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
+
+import org.springframework.util.Assert;
+import org.springframework.ws.soap.SoapEnvelope;
+
+/**
+ * Abstract base class for implementations of the SoapEnvelope interface that use SAAJ. Used by
+ * SaajSoapMessage.
+ *
+ * @author Arjen Poutsma
+ */
+public abstract class SaajSoapEnvelope implements SoapEnvelope {
+
+ private final SOAPEnvelope saajEnvelope;
+
+ protected SaajSoapEnvelope(SOAPEnvelope saajEnvelope) {
+ Assert.notNull(saajEnvelope, "No saajEnvelope given");
+ this.saajEnvelope = saajEnvelope;
+ }
+
+ protected SOAPEnvelope getSaajEnvelope() {
+ return saajEnvelope;
+ }
+
+ public Source getSource() {
+ return new DOMSource(saajEnvelope);
+ }
+}
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java b/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java
index 6c2c7d0e..40526de7 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java
@@ -39,6 +39,8 @@ import org.springframework.ws.soap.Attachment;
import org.springframework.ws.soap.AttachmentException;
import org.springframework.ws.soap.SoapEnvelope;
import org.springframework.ws.soap.SoapVersion;
+import org.springframework.ws.soap.saaj.saaj12.Saaj12SoapEnvelope;
+import org.springframework.ws.soap.saaj.saaj13.Saaj13SoapEnvelope;
import org.springframework.ws.soap.saaj.support.SaajUtils;
/**
@@ -53,7 +55,7 @@ public class SaajSoapMessage extends AbstractSoapMessage {
private final SOAPMessage saajMessage;
- private SoapEnvelope envelope;
+ private SaajSoapEnvelope envelope;
/**
* Create a new SaajSoapMessage based on the given SAAJ SOAPMessage.
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Soap11Body.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12Soap11Body.java
similarity index 97%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Soap11Body.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12Soap11Body.java
index 192a0740..5cc37124 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Soap11Body.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12Soap11Body.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import java.util.Iterator;
import java.util.Locale;
@@ -33,6 +33,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.ws.soap.SoapFault;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
import org.springframework.ws.soap.soap11.Soap11Body;
import org.springframework.ws.soap.soap11.Soap11Fault;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Soap11Fault.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12Soap11Fault.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Soap11Fault.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12Soap11Fault.java
index 2681a60a..e7ef2370 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Soap11Fault.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12Soap11Fault.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import java.util.Locale;
import javax.xml.namespace.QName;
@@ -26,6 +26,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapFaultDetail;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
import org.springframework.ws.soap.soap11.Soap11Fault;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapEnvelope.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapEnvelope.java
similarity index 70%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapEnvelope.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapEnvelope.java
index c810369b..586ed562 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapEnvelope.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapEnvelope.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPEnvelope;
@@ -22,10 +22,11 @@ import javax.xml.soap.SOAPException;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
-import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapBody;
-import org.springframework.ws.soap.SoapEnvelope;
import org.springframework.ws.soap.SoapHeader;
+import org.springframework.ws.soap.saaj.SaajSoapBodyException;
+import org.springframework.ws.soap.saaj.SaajSoapEnvelope;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
/**
@@ -34,31 +35,29 @@ import org.springframework.ws.soap.saaj.support.SaajUtils;
*
* @author Arjen Poutsma
*/
-class Saaj12SoapEnvelope implements SoapEnvelope {
-
- private final SOAPEnvelope saajEnvelope;
+public class Saaj12SoapEnvelope extends SaajSoapEnvelope {
private Saaj12SoapHeader header;
private Saaj12Soap11Body body;
- Saaj12SoapEnvelope(SOAPEnvelope saajEnvelope) {
- Assert.notNull(saajEnvelope, "No saajEnvelope given");
- this.saajEnvelope = saajEnvelope;
+ public Saaj12SoapEnvelope(SOAPEnvelope saajEnvelope) {
+ super(saajEnvelope);
}
public QName getName() {
- return SaajUtils.toQName(saajEnvelope.getElementName());
+ return SaajUtils.toQName(getSaajEnvelope().getElementName());
}
public Source getSource() {
- return new DOMSource(saajEnvelope);
+ return new DOMSource(getSaajEnvelope());
}
public SoapHeader getHeader() {
if (header != null) {
try {
- header = saajEnvelope.getHeader() != null ? new Saaj12SoapHeader(saajEnvelope.getHeader()) : null;
+ header = getSaajEnvelope().getHeader() != null ? new Saaj12SoapHeader(getSaajEnvelope().getHeader()) :
+ null;
}
catch (SOAPException ex) {
throw new SaajSoapHeaderException(ex);
@@ -70,7 +69,7 @@ class Saaj12SoapEnvelope implements SoapEnvelope {
public SoapBody getBody() {
if (body == null) {
try {
- body = new Saaj12Soap11Body(saajEnvelope.getBody());
+ body = new Saaj12Soap11Body(getSaajEnvelope().getBody());
}
catch (SOAPException ex) {
throw new SaajSoapBodyException(ex);
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapFaultDetail.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapFaultDetail.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapFaultDetail.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapFaultDetail.java
index b08ede46..a3436036 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapFaultDetail.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapFaultDetail.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import java.util.Iterator;
import javax.xml.namespace.QName;
@@ -31,6 +31,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapFaultDetail;
import org.springframework.ws.soap.SoapFaultDetailElement;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapFaultDetailElement.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapFaultDetailElement.java
similarity index 94%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapFaultDetailElement.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapFaultDetailElement.java
index 6676f645..d5259ddd 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapFaultDetailElement.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapFaultDetailElement.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import javax.xml.namespace.QName;
import javax.xml.soap.DetailEntry;
@@ -26,6 +26,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapFaultDetailElement;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapHeader.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapHeader.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapHeader.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapHeader.java
index 1a12b237..d7312026 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapHeader.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapHeader.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import java.util.Iterator;
import javax.xml.namespace.QName;
@@ -29,6 +29,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapHeader;
import org.springframework.ws.soap.SoapHeaderElement;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapHeaderElement.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapHeaderElement.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapHeaderElement.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapHeaderElement.java
index 9d112de1..33bcbf75 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12SoapHeaderElement.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj12/Saaj12SoapHeaderElement.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj12;
import javax.xml.namespace.QName;
import javax.xml.soap.Name;
@@ -29,6 +29,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapHeaderElement;
import org.springframework.ws.soap.SoapHeaderException;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
import org.springframework.ws.soap.saaj.support.SaajUtils;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap11Body.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap11Body.java
similarity index 94%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap11Body.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap11Body.java
index 6c400ee1..dc25e802 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap11Body.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap11Body.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Locale;
import javax.xml.namespace.QName;
@@ -25,6 +25,7 @@ import javax.xml.soap.SOAPFault;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.ws.soap.SoapFault;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.soap11.Soap11Body;
import org.springframework.ws.soap.soap11.Soap11Fault;
import org.springframework.xml.namespace.QNameUtils;
@@ -82,13 +83,12 @@ class Saaj13Soap11Body extends Saaj13SoapBody implements Soap11Body {
private Soap11Fault addStandardFault(String localName, String faultString, Locale faultStringLocale) {
try {
- QName faultCode = QNameUtils.createQName(saajBody.getElementQName().getNamespaceURI(),
- localName,
+ QName faultCode = QNameUtils.createQName(saajBody.getElementQName().getNamespaceURI(), localName,
QNameUtils.getPrefix(saajBody.getElementQName()));
saajBody.removeContents();
SOAPFault saajFault = faultStringLocale == null ? saajBody.addFault(faultCode, faultString) :
saajBody.addFault(faultCode, faultString, faultStringLocale);
- return new Saaj12Soap11Fault(saajFault);
+ return new Saaj13Soap11Fault(saajFault);
}
catch (SOAPException ex) {
throw new SaajSoapFaultException(ex);
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap11Fault.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap11Fault.java
similarity index 95%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap11Fault.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap11Fault.java
index f483eea3..80106fd9 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap11Fault.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap11Fault.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Locale;
import javax.xml.namespace.QName;
@@ -26,6 +26,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapFaultDetail;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.soap11.Soap11Fault;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Body.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Body.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Body.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Body.java
index 932bc9a1..f8d9eaff 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Body.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Body.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Locale;
import javax.xml.namespace.QName;
@@ -26,6 +26,7 @@ import javax.xml.soap.SOAPFault;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.ws.soap.SoapFault;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.soap12.Soap12Body;
import org.springframework.ws.soap.soap12.Soap12Fault;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Fault.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Fault.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Fault.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Fault.java
index 7da9f499..b0d42f67 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Fault.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Fault.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Iterator;
import java.util.Locale;
@@ -26,6 +26,7 @@ import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import org.springframework.ws.soap.SoapFaultDetail;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
import org.springframework.ws.soap.soap12.Soap12Fault;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Header.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Header.java
similarity index 94%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Header.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Header.java
index 12d5ed17..0abe53a2 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Soap12Header.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13Soap12Header.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
@@ -22,6 +22,7 @@ import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
import org.springframework.ws.soap.SoapHeaderElement;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
import org.springframework.ws.soap.soap12.Soap12Header;
/**
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapBody.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapBody.java
similarity index 98%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapBody.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapBody.java
index 47293ac6..0e80145b 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapBody.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapBody.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Iterator;
import javax.xml.namespace.QName;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapEnvelope.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapEnvelope.java
similarity index 76%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapEnvelope.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapEnvelope.java
index 655d249f..c38dc39c 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapEnvelope.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapEnvelope.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPBody;
@@ -22,13 +22,14 @@ import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapBody;
-import org.springframework.ws.soap.SoapEnvelope;
import org.springframework.ws.soap.SoapHeader;
+import org.springframework.ws.soap.saaj.SaajSoapBodyException;
+import org.springframework.ws.soap.saaj.SaajSoapEnvelope;
+import org.springframework.ws.soap.saaj.SaajSoapEnvelopeException;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
/**
* Internal class that uses SAAJ 1.3 to implement the SoapEnvelope interface. Used by
@@ -36,36 +37,30 @@ import org.springframework.ws.soap.SoapHeader;
*
* @author Arjen Poutsma
*/
-class Saaj13SoapEnvelope implements SoapEnvelope {
-
- private final SOAPEnvelope saajEnvelope;
+public class Saaj13SoapEnvelope extends SaajSoapEnvelope {
private Saaj13SoapHeader header;
private Saaj13SoapBody body;
- Saaj13SoapEnvelope(SOAPEnvelope saajEnvelope) {
+ public Saaj13SoapEnvelope(SOAPEnvelope saajEnvelope) {
+ super(saajEnvelope);
Assert.notNull(saajEnvelope, "No saajEnvelope given");
- this.saajEnvelope = saajEnvelope;
}
public QName getName() {
- return saajEnvelope.getElementQName();
- }
-
- public Source getSource() {
- return new DOMSource(saajEnvelope);
+ return getSaajEnvelope().getElementQName();
}
public SoapHeader getHeader() {
if (header == null) {
try {
- if (saajEnvelope.getHeader() == null) {
+ if (getSaajEnvelope().getHeader() == null) {
return null;
}
else {
- SOAPHeader saajHeader = saajEnvelope.getHeader();
- String namespaceURI = saajEnvelope.getElementQName().getNamespaceURI();
+ SOAPHeader saajHeader = getSaajEnvelope().getHeader();
+ String namespaceURI = getSaajEnvelope().getElementQName().getNamespaceURI();
if (SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE.equals(namespaceURI)) {
header = new Saaj13SoapHeader(saajHeader);
}
@@ -87,8 +82,8 @@ class Saaj13SoapEnvelope implements SoapEnvelope {
public SoapBody getBody() {
if (body == null) {
try {
- SOAPBody saajBody = saajEnvelope.getBody();
- String namespaceURI = saajEnvelope.getElementQName().getNamespaceURI();
+ SOAPBody saajBody = getSaajEnvelope().getBody();
+ String namespaceURI = getSaajEnvelope().getElementQName().getNamespaceURI();
if (SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE.equals(namespaceURI)) {
body = new Saaj13Soap11Body(saajBody);
}
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapFaultDetail.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapFaultDetail.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapFaultDetail.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapFaultDetail.java
index 6983beab..bfe6c48b 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapFaultDetail.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapFaultDetail.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Iterator;
import javax.xml.namespace.QName;
@@ -29,6 +29,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapFaultDetail;
import org.springframework.ws.soap.SoapFaultDetailElement;
+import org.springframework.ws.soap.saaj.SaajSoapFaultException;
/**
* @author Arjen Poutsma
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapHeader.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapHeader.java
similarity index 96%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapHeader.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapHeader.java
index 7b75c592..62bfc54e 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapHeader.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapHeader.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import java.util.Iterator;
import javax.xml.namespace.QName;
@@ -27,6 +27,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapHeader;
import org.springframework.ws.soap.SoapHeaderElement;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
/**
* Internal class that uses SAAJ 1.3 to implement the SoapHeader interface.
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapHeaderElement.java b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapHeaderElement.java
similarity index 95%
rename from core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapHeaderElement.java
rename to core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapHeaderElement.java
index 0ac92c45..135c4e9d 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13SoapHeaderElement.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/saaj13/Saaj13SoapHeaderElement.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ws.soap.saaj;
+package org.springframework.ws.soap.saaj.saaj13;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
@@ -27,6 +27,7 @@ import javax.xml.transform.dom.DOMSource;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapHeaderElement;
import org.springframework.ws.soap.SoapHeaderException;
+import org.springframework.ws.soap.saaj.SaajSoapHeaderException;
/**
* Internal class that uses SAAJ 1.3 to implement the SoapHeaderElement interface.