From af61bd5c05a448586380f447f60180b7abf5816f Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Tue, 17 Jun 2008 10:59:15 +0000 Subject: [PATCH] SWS-376 --- .../ws/soap/axiom/AxiomSoapMessage.java | 16 ++++++++++++---- .../ws/soap/saaj/SaajSoapMessage.java | 3 ++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapMessage.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapMessage.java index 5939ee69..88e321c9 100644 --- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapMessage.java +++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapMessage.java @@ -53,6 +53,8 @@ import org.springframework.ws.transport.TransportOutputStream; */ public class AxiomSoapMessage extends AbstractSoapMessage { + private static final String EMPTY_SOAP_ACTION = "\"\""; + private SOAPMessage axiomMessage; private final SOAPFactory axiomFactory; @@ -85,7 +87,7 @@ public class AxiomSoapMessage extends AbstractSoapMessage { axiomMessage = axiomFactory.createSOAPMessage(soapEnvelope, soapEnvelope.getBuilder()); attachments = new Attachments(); this.payloadCaching = payloadCaching; - soapAction = "\"\""; + soapAction = EMPTY_SOAP_ACTION; } /** @@ -117,7 +119,7 @@ public class AxiomSoapMessage extends AbstractSoapMessage { axiomFactory = (SOAPFactory) soapMessage.getSOAPEnvelope().getOMFactory(); this.attachments = attachments; if (!StringUtils.hasLength(soapAction)) { - soapAction = "\"\""; + soapAction = EMPTY_SOAP_ACTION; } this.soapAction = soapAction; this.payloadCaching = payloadCaching; @@ -128,10 +130,16 @@ public class AxiomSoapMessage extends AbstractSoapMessage { return axiomMessage; } - /** Sets the AXIOM SOAPMessage that this AxiomSoapMessage is based on. */ + /** + * Sets the AXIOM SOAPMessage that this AxiomSoapMessage is based on. + *

+ * Calling this method also clears the SOAP Action property. + */ public final void setAxiomMessage(SOAPMessage axiomMessage) { Assert.notNull(axiomMessage, "'axiomMessage' must not be null"); this.axiomMessage = axiomMessage; + this.envelope = null; + this.soapAction = EMPTY_SOAP_ACTION; } public SoapEnvelope getEnvelope() { @@ -152,7 +160,7 @@ public class AxiomSoapMessage extends AbstractSoapMessage { public void setSoapAction(String soapAction) { if (soapAction == null) { - soapAction = ""; + soapAction = EMPTY_SOAP_ACTION; } if (!soapAction.startsWith("\"")) { soapAction = "\"" + soapAction; 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 40b28a9f..45e249f6 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 @@ -78,6 +78,7 @@ public class SaajSoapMessage extends AbstractSoapMessage { public void setSaajMessage(SOAPMessage soapMessage) { Assert.notNull(soapMessage, "soapMessage must not be null"); saajMessage = soapMessage; + envelope = null; } public SoapEnvelope getEnvelope() { @@ -239,7 +240,7 @@ public class SaajSoapMessage extends AbstractSoapMessage { private final Iterator saajIterator; - public SaajAttachmentIterator(Iterator saajIterator) { + private SaajAttachmentIterator(Iterator saajIterator) { this.saajIterator = saajIterator; }