diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj11Implementation.java b/core/src/main/java/org/springframework/ws/soap/saaj/Saaj11Implementation.java
index 49968513..15bc4a32 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj11Implementation.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/Saaj11Implementation.java
@@ -32,7 +32,6 @@ import javax.xml.soap.MimeHeader;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
@@ -264,11 +263,11 @@ public class Saaj11Implementation implements SaajImplementation {
return detail.getDetailEntries();
}
- public SOAPBodyElement getFirstBodyElement(SOAPBody body) {
+ public SOAPElement getFirstBodyElement(SOAPBody body) {
for (Iterator iterator = body.getChildElements(); iterator.hasNext();) {
Object child = iterator.next();
- if (child instanceof SOAPBodyElement) {
- return (SOAPBodyElement) child;
+ if (child instanceof SOAPElement) {
+ return (SOAPElement) child;
}
}
return null;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Implementation.java b/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Implementation.java
index 136187ae..a1e191b7 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Implementation.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/Saaj12Implementation.java
@@ -30,7 +30,6 @@ import javax.xml.soap.MimeHeader;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
@@ -180,11 +179,11 @@ public class Saaj12Implementation implements SaajImplementation {
return detail.getDetailEntries();
}
- public SOAPBodyElement getFirstBodyElement(SOAPBody body) {
+ public SOAPElement getFirstBodyElement(SOAPBody body) {
for (Iterator iterator = body.getChildElements(); iterator.hasNext();) {
Object child = iterator.next();
- if (child instanceof SOAPBodyElement) {
- return (SOAPBodyElement) child;
+ if (child instanceof SOAPElement) {
+ return (SOAPElement) child;
}
}
return null;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Implementation.java b/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Implementation.java
index 815ba51a..172c0b2d 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Implementation.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/Saaj13Implementation.java
@@ -29,7 +29,6 @@ import javax.xml.soap.DetailEntry;
import javax.xml.soap.MimeHeader;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
@@ -217,11 +216,11 @@ public class Saaj13Implementation implements SaajImplementation {
return detail.getDetailEntries();
}
- public SOAPBodyElement getFirstBodyElement(SOAPBody body) {
+ public SOAPElement getFirstBodyElement(SOAPBody body) {
for (Iterator iterator = body.getChildElements(); iterator.hasNext();) {
Object child = iterator.next();
- if (child instanceof SOAPBodyElement) {
- return (SOAPBodyElement) child;
+ if (child instanceof SOAPElement) {
+ return (SOAPElement) child;
}
}
return null;
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/SaajImplementation.java b/core/src/main/java/org/springframework/ws/soap/saaj/SaajImplementation.java
index a8803891..7f344b41 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/SaajImplementation.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/SaajImplementation.java
@@ -27,7 +27,6 @@ import javax.xml.soap.Detail;
import javax.xml.soap.DetailEntry;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
@@ -175,7 +174,7 @@ public interface SaajImplementation {
/**
* Returns the first child element of the given body.
*/
- SOAPBodyElement getFirstBodyElement(SOAPBody body);
+ SOAPElement getFirstBodyElement(SOAPBody body);
/**
* Removes the contents (i.e. children) of the element.
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 fb42322e..172d8e85 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
@@ -105,6 +105,7 @@ public class SaajSoapMessage extends AbstractSoapMessage {
public void writeTo(OutputStream outputStream) throws IOException {
try {
getImplementation().writeTo(getSaajMessage(), outputStream);
+ outputStream.flush();
}
catch (SOAPException ex) {
throw new SaajSoapMessageException("Could not write message to OutputStream: " + ex.getMessage(), ex);
diff --git a/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java b/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java
index 7b60fbc1..e2a8b1fc 100644
--- a/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java
+++ b/core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java
@@ -37,7 +37,7 @@ import org.springframework.ws.transport.TransportInputStream;
/**
* SAAJ-specific implementation of the {@link org.springframework.ws.WebServiceMessageFactory WebServiceMessageFactory}.
- * This factory will use SAAJ 1.3 when found, or fall back to SAAJ 1.2.
+ * This factory will use SAAJ 1.3 when found, or fall back to SAAJ 1.2 or 1.1.
*
* @author Arjen Poutsma
* @see org.springframework.ws.soap.saaj.SaajSoapMessage
@@ -50,21 +50,29 @@ public class SaajSoapMessageFactory implements WebServiceMessageFactory, Initial
private String messageFactoryProtocol;
- /** Default, empty constructor. */
+ /**
+ * Default, empty constructor.
+ */
public SaajSoapMessageFactory() {
}
- /** Constructor that takes a message factory as an argument. */
+ /**
+ * Constructor that takes a message factory as an argument.
+ */
public SaajSoapMessageFactory(MessageFactory messageFactory) {
this.messageFactory = messageFactory;
}
- /** Sets the SAAJ MessageFactory. */
+ /**
+ * Sets the SAAJ MessageFactory.
+ */
public void setMessageFactory(MessageFactory messageFactory) {
this.messageFactory = messageFactory;
}
- /** Returns the SAAJ MessageFactory used. */
+ /**
+ * Returns the SAAJ MessageFactory used.
+ */
public MessageFactory getSaajMessageFactory() {
return messageFactory;
}