diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java index 0b991129..cefc2b70 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessage.java @@ -57,6 +57,7 @@ import org.springframework.ws.transport.TransportOutputStream; * wraps a {@link SOAPMessage}. * * @author Arjen Poutsma + * @author Greg Turnquist * @see SOAPMessage * @since 1.0.0 */ @@ -114,10 +115,6 @@ public class SaajSoapMessage extends AbstractSoapMessage { Assert.notNull(soapMessage, "soapMessage must not be null"); saajMessage = soapMessage; this.langAttributeOnSoap11FaultString = langAttributeOnSoap11FaultString; - MimeHeaders headers = soapMessage.getMimeHeaders(); - if (ObjectUtils.isEmpty(headers.getHeader(TransportConstants.HEADER_SOAP_ACTION))) { - headers.addHeader(TransportConstants.HEADER_SOAP_ACTION, "\"\""); - } this.messageFactory = messageFactory; } diff --git a/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java b/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java index 7a9344f7..05daec56 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/soap/saaj/SaajSoapMessageFactory.java @@ -35,6 +35,7 @@ import org.xml.sax.SAXParseException; import org.springframework.beans.factory.InitializingBean; import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import org.springframework.ws.InvalidXmlException; import org.springframework.ws.soap.SoapMessageCreationException; @@ -54,6 +55,7 @@ import org.springframework.ws.transport.TransportInputStream; * factory is injected, the {@link #setSoapVersion(org.springframework.ws.soap.SoapVersion)} property is ignored. * * @author Arjen Poutsma + * @author Greg Turnquist * @see org.springframework.ws.soap.saaj.SaajSoapMessage * @since 1.0.0 */ @@ -290,6 +292,13 @@ public class SaajSoapMessageFactory implements SoapMessageFactory, InitializingB soapMessage.setProperty(entry.getKey(), entry.getValue()); } } + + if (SOAPConstants.SOAP_1_1_PROTOCOL.equals(this.messageFactoryProtocol)) { + MimeHeaders headers = soapMessage.getMimeHeaders(); + if (ObjectUtils.isEmpty(headers.getHeader(TransportConstants.HEADER_SOAP_ACTION))) { + headers.addHeader(TransportConstants.HEADER_SOAP_ACTION, "\"\""); + } + } } public String toString() {