diff --git a/spring-ws-core/src/main/java/org/springframework/ws/wsdl/wsdl11/Wsdl4jDefinition.java b/spring-ws-core/src/main/java/org/springframework/ws/wsdl/wsdl11/Wsdl4jDefinition.java index 866ba725..fae63703 100644 --- a/spring-ws-core/src/main/java/org/springframework/ws/wsdl/wsdl11/Wsdl4jDefinition.java +++ b/spring-ws-core/src/main/java/org/springframework/ws/wsdl/wsdl11/Wsdl4jDefinition.java @@ -34,6 +34,7 @@ import org.springframework.ws.wsdl.WsdlDefinitionException; * as constructor argument, or set using a property. * * @author Arjen Poutsma + * @author Greg Turnquist * @see #Wsdl4jDefinition(javax.wsdl.Definition) * @see #setDefinition(javax.wsdl.Definition) * @since 1.0.0 @@ -42,9 +43,6 @@ public class Wsdl4jDefinition implements Wsdl11Definition { private Definition definition; - /** Cached DOM version of the definition */ - private Document document; - /** WSDL4J is not thread safe, hence the need for a monitor. */ private final Object monitor = new Object(); @@ -76,7 +74,6 @@ public class Wsdl4jDefinition implements Wsdl11Definition { public void setDefinition(Definition definition) { synchronized (monitor) { this.definition = definition; - this.document = null; } } @@ -84,18 +81,16 @@ public class Wsdl4jDefinition implements Wsdl11Definition { public Source getSource() { synchronized (monitor) { Assert.notNull(definition, "definition must not be null"); - if (document == null) { - try { - WSDLFactory wsdlFactory = WSDLFactory.newInstance(); - WSDLWriter wsdlWriter = wsdlFactory.newWSDLWriter(); - document = wsdlWriter.getDocument(definition); - } - catch (WSDLException ex) { - throw new WsdlDefinitionException(ex.getMessage(), ex); - } + try { + WSDLFactory wsdlFactory = WSDLFactory.newInstance(); + WSDLWriter wsdlWriter = wsdlFactory.newWSDLWriter(); + Document document = wsdlWriter.getDocument(definition); + return new DOMSource(document); + } + catch (WSDLException ex) { + throw new WsdlDefinitionException(ex.getMessage(), ex); } } - return new DOMSource(document); } public String toString() {