diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Body.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Body.java
index 6249d7a8..b4a1cad0 100644
--- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Body.java
+++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Body.java
@@ -19,6 +19,7 @@ package org.springframework.ws.soap.axiom;
import java.util.Locale;
import javax.xml.namespace.QName;
+import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAPBody;
@@ -26,8 +27,6 @@ import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultCode;
import org.apache.axiom.soap.SOAPFaultReason;
-import org.apache.axiom.soap.SOAPFaultText;
-import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -79,14 +78,12 @@ class AxiomSoap11Body extends AxiomSoapBody implements Soap11Body {
detachAllBodyChildren();
SOAPFault fault = axiomFactory.createSOAPFault(axiomBody);
SOAPFaultCode faultCode = axiomFactory.createSOAPFaultCode(fault);
- SOAPFaultValue faultCodeValue = axiomFactory.createSOAPFaultValue(faultCode);
- setValueText(code, fault, faultCodeValue);
+ setValueText(code, fault, faultCode);
SOAPFaultReason faultReason = axiomFactory.createSOAPFaultReason(fault);
- SOAPFaultText faultText = axiomFactory.createSOAPFaultText(faultReason);
if (locale != null) {
- faultText.setLang(AxiomUtils.toLanguage(locale));
+ addLangAttribute(locale, faultReason);
}
- faultText.setText(faultString);
+ faultReason.setText(faultString);
return new AxiomSoap11Fault(fault, axiomFactory);
}
@@ -96,7 +93,7 @@ class AxiomSoap11Body extends AxiomSoapBody implements Soap11Body {
}
- private void setValueText(QName code, SOAPFault fault, SOAPFaultValue faultValue) {
+ private void setValueText(QName code, SOAPFault fault, SOAPFaultCode faultCode) {
String prefix = QNameUtils.getPrefix(code);
if (StringUtils.hasLength(code.getNamespaceURI()) && StringUtils.hasLength(prefix)) {
OMNamespace namespace = fault.findNamespaceURI(prefix);
@@ -111,7 +108,34 @@ class AxiomSoap11Body extends AxiomSoapBody implements Soap11Body {
}
code = QNameUtils.createQName(code.getNamespaceURI(), code.getLocalPart(), namespace.getPrefix());
}
- faultValue.setText(prefix + ":" + code.getLocalPart());
+ faultCode.setText(code);
}
+ private SOAPFault addStandardFault(String localName, String faultString, Locale locale) {
+ Assert.notNull(faultString, "No faultString given");
+ try {
+ detachAllBodyChildren();
+ SOAPFault fault = axiomFactory.createSOAPFault(axiomBody);
+ SOAPFaultCode faultCode = axiomFactory.createSOAPFaultCode(fault);
+ faultCode.setText(
+ new QName(fault.getNamespace().getNamespaceURI(), localName, fault.getNamespace().getPrefix()));
+ SOAPFaultReason faultReason = axiomFactory.createSOAPFaultReason(fault);
+ if (locale != null) {
+ addLangAttribute(locale, faultReason);
+ }
+ faultReason.setText(faultString);
+ return fault;
+ }
+ catch (SOAPProcessingException ex) {
+ throw new AxiomSoapFaultException(ex);
+ }
+ }
+
+ private void addLangAttribute(Locale locale, SOAPFaultReason faultReason) {
+ OMNamespace xmlNamespace = axiomFactory.createOMNamespace("http://www.w3.org/XML/1998/namespace", "xml");
+ OMAttribute langAttribute = axiomFactory.createOMAttribute("lang", xmlNamespace, AxiomUtils.toLanguage(locale));
+ faultReason.addAttribute(langAttribute);
+ }
+
+
}
diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Fault.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Fault.java
index a45d4081..5aca46c3 100644
--- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Fault.java
+++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap11Fault.java
@@ -17,10 +17,11 @@
package org.springframework.ws.soap.axiom;
import java.util.Locale;
+import javax.xml.namespace.QName;
+import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
-import org.apache.axiom.soap.SOAPFaultText;
import org.springframework.ws.soap.axiom.support.AxiomUtils;
import org.springframework.ws.soap.soap11.Soap11Fault;
@@ -35,21 +36,23 @@ class AxiomSoap11Fault extends AxiomSoapFault implements Soap11Fault {
super(axiomFault, axiomFactory);
}
+ public QName getFaultCode() {
+ return axiomFault.getCode().getTextAsQName();
+ }
+
public String getFaultStringOrReason() {
if (axiomFault.getReason() != null) {
- SOAPFaultText soapText = axiomFault.getReason().getFirstSOAPText();
- if (soapText != null) {
- return soapText.getText();
- }
+ return axiomFault.getReason().getText();
}
return null;
}
public Locale getFaultStringLocale() {
if (axiomFault.getReason() != null) {
- SOAPFaultText soapText = axiomFault.getReason().getFirstSOAPText();
- if (soapText != null) {
- String xmlLangString = soapText.getLang();
+ OMAttribute langAttribute =
+ axiomFault.getReason().getAttribute(new QName("http://www.w3.org/XML/1998/namespace", "lang"));
+ if (langAttribute != null) {
+ String xmlLangString = langAttribute.getAttributeValue();
if (xmlLangString != null) {
return AxiomUtils.toLocale(xmlLangString);
}
diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Body.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Body.java
index ee65c130..0c2ce456 100644
--- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Body.java
+++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Body.java
@@ -23,8 +23,14 @@ import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
+import org.apache.axiom.soap.SOAPFaultCode;
+import org.apache.axiom.soap.SOAPFaultReason;
+import org.apache.axiom.soap.SOAPFaultText;
+import org.apache.axiom.soap.SOAPFaultValue;
+import org.apache.axiom.soap.SOAPProcessingException;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapFault;
+import org.springframework.ws.soap.axiom.support.AxiomUtils;
import org.springframework.ws.soap.soap12.Soap12Body;
import org.springframework.ws.soap.soap12.Soap12Fault;
@@ -69,4 +75,26 @@ class AxiomSoap12Body extends AxiomSoapBody implements Soap12Body {
return new AxiomSoap12Fault(fault, axiomFactory);
}
+ private SOAPFault addStandardFault(String localName, String faultStringOrReason, Locale locale) {
+ Assert.notNull(faultStringOrReason, "No faultStringOrReason given");
+ try {
+ detachAllBodyChildren();
+ SOAPFault fault = axiomFactory.createSOAPFault(axiomBody);
+ SOAPFaultCode code = axiomFactory.createSOAPFaultCode(fault);
+ SOAPFaultValue value = axiomFactory.createSOAPFaultValue(code);
+ value.setText(fault.getNamespace().getPrefix() + ":" + localName);
+ SOAPFaultReason reason = axiomFactory.createSOAPFaultReason(fault);
+ SOAPFaultText text = axiomFactory.createSOAPFaultText(reason);
+ if (locale != null) {
+ text.setLang(AxiomUtils.toLanguage(locale));
+ }
+ text.setText(faultStringOrReason);
+ return fault;
+ }
+ catch (SOAPProcessingException ex) {
+ throw new AxiomSoapFaultException(ex);
+ }
+ }
+
+
}
diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Fault.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Fault.java
index 15691945..b5019db0 100644
--- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Fault.java
+++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoap12Fault.java
@@ -37,20 +37,22 @@ import org.springframework.ws.soap.axiom.support.AxiomUtils;
import org.springframework.ws.soap.soap12.Soap12Fault;
import org.springframework.xml.namespace.QNameUtils;
-/**
- * Axiom-specific version of org.springframework.ws.soap.Soap12Fault.
- */
+/** Axiom-specific version of org.springframework.ws.soap.Soap12Fault. */
class AxiomSoap12Fault extends AxiomSoapFault implements Soap12Fault {
AxiomSoap12Fault(SOAPFault axiomFault, SOAPFactory axiomFactory) {
super(axiomFault, axiomFactory);
}
+ public QName getFaultCode() {
+ return axiomFault.getCode().getValue().getTextAsQName();
+ }
+
public Iterator getFaultSubcodes() {
List subcodes = new ArrayList();
SOAPFaultSubCode subcode = axiomFault.getCode().getSubCode();
while (subcode != null) {
- subcodes.add(getFaultCode(subcode.getValue()));
+ subcodes.add(subcode.getValue().getTextAsQName());
subcode = subcode.getSubCode();
}
return subcodes.iterator();
diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapBody.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapBody.java
index 7930c8e6..9236971b 100644
--- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapBody.java
+++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapBody.java
@@ -17,7 +17,6 @@
package org.springframework.ws.soap.axiom;
import java.util.Iterator;
-import java.util.Locale;
import javax.xml.namespace.QName;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
@@ -28,15 +27,9 @@ import org.apache.axiom.om.OMException;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
-import org.apache.axiom.soap.SOAPFaultCode;
-import org.apache.axiom.soap.SOAPFaultReason;
-import org.apache.axiom.soap.SOAPFaultText;
-import org.apache.axiom.soap.SOAPFaultValue;
-import org.apache.axiom.soap.SOAPProcessingException;
import org.springframework.util.Assert;
import org.springframework.ws.soap.SoapBody;
import org.springframework.ws.soap.SoapFault;
-import org.springframework.ws.soap.axiom.support.AxiomUtils;
import org.springframework.xml.transform.StaxSource;
/**
@@ -116,24 +109,4 @@ abstract class AxiomSoapBody implements SoapBody {
}
- protected SOAPFault addStandardFault(String localName, String faultStringOrReason, Locale locale) {
- Assert.notNull(faultStringOrReason, "No faultStringOrReason given");
- try {
- detachAllBodyChildren();
- SOAPFault fault = axiomFactory.createSOAPFault(axiomBody);
- SOAPFaultCode code = axiomFactory.createSOAPFaultCode(fault);
- SOAPFaultValue value = axiomFactory.createSOAPFaultValue(code);
- value.setText(fault.getNamespace().getPrefix() + ":" + localName);
- SOAPFaultReason reason = axiomFactory.createSOAPFaultReason(fault);
- SOAPFaultText text = axiomFactory.createSOAPFaultText(reason);
- if (locale != null) {
- text.setLang(AxiomUtils.toLanguage(locale));
- }
- text.setText(faultStringOrReason);
- return fault;
- }
- catch (SOAPProcessingException ex) {
- throw new AxiomSoapFaultException(ex);
- }
- }
}
diff --git a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapFault.java b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapFault.java
index 16bf3b83..a8e738ca 100644
--- a/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapFault.java
+++ b/core/src/main/java/org/springframework/ws/soap/axiom/AxiomSoapFault.java
@@ -16,20 +16,21 @@
package org.springframework.ws.soap.axiom;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.soap.*;
-import org.springframework.util.Assert;
-import org.springframework.ws.soap.SoapFault;
-import org.springframework.ws.soap.SoapFaultDetail;
-import org.springframework.xml.namespace.QNameUtils;
-import org.springframework.xml.transform.StaxSource;
-
import javax.xml.namespace.QName;
import javax.xml.transform.Source;
-/**
- * @author Arjen Poutsma
- */
+import org.apache.axiom.om.OMException;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.SOAPFault;
+import org.apache.axiom.soap.SOAPFaultDetail;
+import org.apache.axiom.soap.SOAPFaultRole;
+import org.apache.axiom.soap.SOAPProcessingException;
+import org.springframework.util.Assert;
+import org.springframework.ws.soap.SoapFault;
+import org.springframework.ws.soap.SoapFaultDetail;
+import org.springframework.xml.transform.StaxSource;
+
+/** @author Arjen Poutsma */
abstract class AxiomSoapFault implements SoapFault {
protected final SOAPFault axiomFault;
@@ -51,22 +52,6 @@ abstract class AxiomSoapFault implements SoapFault {
return new StaxSource(axiomFault.getXMLStreamReader());
}
- public QName getFaultCode() {
- return getFaultCode(axiomFault.getCode().getValue());
- }
-
- /**
- * Axiom 1.0's getTextAsQName is broken for SOAPFaultValues, hence this.
- */
- protected QName getFaultCode(SOAPFaultValue value) {
- String text = value.getText();
- int idx = text.indexOf(':');
- String prefix = text.substring(0, idx);
- String localPart = text.substring(idx + 1);
- String namespaceUri = axiomFault.getCode().getValue().findNamespaceURI(prefix).getNamespaceURI();
- return QNameUtils.createQName(namespaceUri, localPart, prefix);
- }
-
public String getFaultActorOrRole() {
SOAPFaultRole faultRole = axiomFault.getRole();
return faultRole != null ? faultRole.getRoleValue() : null;
diff --git a/core/src/test/java/org/springframework/ws/soap/AbstractSoapMessageTestCase.java b/core/src/test/java/org/springframework/ws/soap/AbstractSoapMessageTestCase.java
index 57182a31..9751787d 100644
--- a/core/src/test/java/org/springframework/ws/soap/AbstractSoapMessageTestCase.java
+++ b/core/src/test/java/org/springframework/ws/soap/AbstractSoapMessageTestCase.java
@@ -26,7 +26,6 @@ import org.springframework.util.FileCopyUtils;
import org.springframework.util.StringUtils;
import org.springframework.ws.AbstractWebServiceMessageTestCase;
import org.springframework.ws.WebServiceMessage;
-import org.springframework.xml.transform.StringResult;
import org.springframework.xml.validation.XmlValidator;
import org.springframework.xml.validation.XmlValidatorFactory;
import org.xml.sax.SAXParseException;
@@ -59,14 +58,6 @@ public abstract class AbstractSoapMessageTestCase extends AbstractWebServiceMess
assertFalse("Attachment iterator has too many elements", iterator.hasNext());
}
- public void testWriteTo() throws Exception {
- StringResult stringResult = new StringResult();
- transformer.transform(soapMessage.getEnvelope().getSource(), stringResult);
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- soapMessage.writeTo(os);
- assertXMLEqual(stringResult.toString(), os.toString("UTF-8"));
- }
-
public void testValidate() throws Exception {
XmlValidator validator =
XmlValidatorFactory.createValidator(getSoapSchemas(), XmlValidatorFactory.SCHEMA_W3C_XML);
@@ -84,5 +75,9 @@ public abstract class AbstractSoapMessageTestCase extends AbstractWebServiceMess
protected abstract Resource[] getSoapSchemas();
+ public abstract void testGetVersion() throws Exception;
+ public abstract void testWriteToTransportOutputStream() throws Exception;
+
+ public abstract void testWriteToTransportResponseAttachment() throws Exception;
}
diff --git a/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11BodyTest.java b/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11BodyTest.java
index 491fb7f7..acbf21be 100644
--- a/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11BodyTest.java
+++ b/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11BodyTest.java
@@ -1,73 +1,16 @@
package org.springframework.ws.soap.axiom;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.Result;
-import javax.xml.transform.dom.DOMSource;
-
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.soap.SOAPFactory;
import org.springframework.ws.soap.SoapBody;
-import org.springframework.ws.soap.SoapVersion;
import org.springframework.ws.soap.soap11.AbstractSoap11BodyTestCase;
-import org.springframework.ws.soap.soap11.Soap11Body;
-import org.springframework.ws.soap.soap11.Soap11Fault;
-import org.springframework.xml.transform.StringResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
public class AxiomSoap11BodyTest extends AbstractSoap11BodyTestCase {
- private AxiomSoapMessage axiomSoapMessage;
-
- private DocumentBuilder documentBuilder;
-
protected SoapBody createSoapBody() throws Exception {
SOAPFactory axiomFactory = OMAbstractFactory.getSOAP11Factory();
- axiomSoapMessage = new AxiomSoapMessage(axiomFactory);
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setNamespaceAware(true);
- documentBuilder = documentBuilderFactory.newDocumentBuilder();
+ AxiomSoapMessage axiomSoapMessage = new AxiomSoapMessage(axiomFactory);
return axiomSoapMessage.getSoapBody();
}
- public void testAddFault() throws Exception {
- QName faultCode = new QName("http://www.springframework.org", "fault", "spring");
- String faultString = "faultString";
- Soap11Fault fault = ((Soap11Body) soapBody).addFault(faultCode, faultString, null);
- assertNotNull("Null returned", fault);
- assertTrue("SoapBody has no fault", soapBody.hasFault());
- assertNotNull("SoapBody has no fault", soapBody.getFault());
- assertEquals("Invalid fault code", faultCode, fault.getFaultCode());
- assertEquals("Invalid fault string", faultString, fault.getFaultStringOrReason());
- String actor = "http://www.springframework.org/actor";
- fault.setFaultActorOrRole(actor);
- assertEquals("Invalid fault actor", actor, fault.getFaultActorOrRole());
- assertPayloadEqual("" + "spring:fault" +
- "" + faultString + "" + "" + actor + "" +
- "");
- }
-
- /**
- * Overriden because of http://issues.apache.org/jira/browse/WSCOMMONS-38. Axiom does not return valid xml
- */
- protected void assertPayloadEqual(String expectedPayload) throws Exception {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- axiomSoapMessage.writeTo(os);
- Document document = documentBuilder.parse(new ByteArrayInputStream(os.toByteArray()));
- NodeList nodes = document.getElementsByTagNameNS(SoapVersion.SOAP_11.getEnvelopeNamespaceUri(), "Body");
- assertEquals("No Body found", 1, nodes.getLength());
- assertEquals("No Body found", Node.ELEMENT_NODE, nodes.item(0).getNodeType());
- Element bodyElement = (Element) nodes.item(0);
- Element firstChild = (Element) bodyElement.getFirstChild();
- Result result = new StringResult();
- transformer.transform(new DOMSource(firstChild), result);
- assertXMLEqual("Invalid payload contents", expectedPayload, result.toString());
- }
}
diff --git a/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11MessageTest.java b/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11MessageTest.java
index 027429d4..d981118c 100644
--- a/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11MessageTest.java
+++ b/core/src/test/java/org/springframework/ws/soap/axiom/AxiomSoap11MessageTest.java
@@ -13,7 +13,7 @@ public class AxiomSoap11MessageTest extends AbstractSoap11MessageTestCase {
}
public void testAttachments() throws Exception {
- // Attachment support not supported
+ // Attachment not supported
}
public void testWriteToTransportResponseAttachment() throws Exception {
diff --git a/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap11MessageTest.java b/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap11MessageTest.java
index 33172fe5..84e5b98a 100644
--- a/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap11MessageTest.java
+++ b/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap11MessageTest.java
@@ -36,6 +36,7 @@ public class SaajSoap11MessageTest extends AbstractSoap11MessageTestCase {
protected final SoapMessage createSoapMessage() throws Exception {
MessageFactory messageFactory = MessageFactory.newInstance();
saajMessage = messageFactory.createMessage();
+ saajMessage.getSOAPHeader().detachNode();
return new SaajSoapMessage(saajMessage);
}
diff --git a/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap12MessageTest.java b/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap12MessageTest.java
index 5188df46..01965496 100644
--- a/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap12MessageTest.java
+++ b/core/src/test/java/org/springframework/ws/soap/saaj/SaajSoap12MessageTest.java
@@ -34,6 +34,7 @@ public class SaajSoap12MessageTest extends AbstractSoap12MessageTestCase {
protected SoapMessage createSoapMessage() throws Exception {
MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
saajMessage = messageFactory.createMessage();
+ saajMessage.getSOAPHeader().detachNode();
return new SaajSoapMessage(saajMessage);
}
diff --git a/core/src/test/java/org/springframework/ws/soap/server/endpoint/interceptor/PayloadValidatingInterceptorTest.java b/core/src/test/java/org/springframework/ws/soap/server/endpoint/interceptor/PayloadValidatingInterceptorTest.java
index 29dc972e..065a2c5e 100644
--- a/core/src/test/java/org/springframework/ws/soap/server/endpoint/interceptor/PayloadValidatingInterceptorTest.java
+++ b/core/src/test/java/org/springframework/ws/soap/server/endpoint/interceptor/PayloadValidatingInterceptorTest.java
@@ -276,8 +276,8 @@ public class PayloadValidatingInterceptorTest extends XMLTestCase {
ByteArrayOutputStream os = new ByteArrayOutputStream();
messageContext.getResponse().writeTo(os);
assertXMLEqual("" +
- "" + "" + "" + "soapenv:Client" +
- "Validation error" + "" +
+ "" + "" + "soapenv:Client" +
+ "Validation error" + "" +
"Message 1" +
"Message 2" +
"" + "" + "" + "", os.toString());
diff --git a/core/src/test/java/org/springframework/ws/soap/soap11/AbstractSoap11MessageTestCase.java b/core/src/test/java/org/springframework/ws/soap/soap11/AbstractSoap11MessageTestCase.java
index 87a70b05..3a2e39e4 100644
--- a/core/src/test/java/org/springframework/ws/soap/soap11/AbstractSoap11MessageTestCase.java
+++ b/core/src/test/java/org/springframework/ws/soap/soap11/AbstractSoap11MessageTestCase.java
@@ -37,13 +37,6 @@ public abstract class AbstractSoap11MessageTestCase extends AbstractSoapMessageT
Assert.assertEquals("Invalid SOAP version", SoapVersion.SOAP_11, soapMessage.getVersion());
}
- public void testWriteToOutputStream() throws Exception {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- soapMessage.writeTo(outputStream);
- assertXMLEqual("",
- new String(outputStream.toByteArray(), "UTF-8"));
- }
-
public void testWriteToTransportOutputStream() throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
MockTransportOutputStream tos = new MockTransportOutputStream(bos);
@@ -51,8 +44,7 @@ public abstract class AbstractSoap11MessageTestCase extends AbstractSoapMessageT
soapMessage.setSoapAction(soapAction);
soapMessage.writeTo(tos);
String result = bos.toString("UTF-8");
- assertXMLEqual("",
- result);
+ assertXMLEqual("", result);
String contentType = (String) tos.getHeaders().get("Content-Type");
assertTrue("Invalid Content-Type set", contentType.indexOf(SoapVersion.SOAP_11.getContentType()) != -1);
String resultSoapAction = (String) tos.getHeaders().get("SOAPAction");
diff --git a/core/src/test/java/org/springframework/ws/soap/soap12/AbstractSoap12MessageTestCase.java b/core/src/test/java/org/springframework/ws/soap/soap12/AbstractSoap12MessageTestCase.java
index 80d8890d..6f242f6b 100644
--- a/core/src/test/java/org/springframework/ws/soap/soap12/AbstractSoap12MessageTestCase.java
+++ b/core/src/test/java/org/springframework/ws/soap/soap12/AbstractSoap12MessageTestCase.java
@@ -33,25 +33,18 @@ public abstract class AbstractSoap12MessageTestCase extends AbstractSoapMessageT
Assert.assertEquals("Invalid SOAP version", SoapVersion.SOAP_12, soapMessage.getVersion());
}
- public void testWriteTo() throws Exception {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- soapMessage.writeTo(outputStream);
- assertXMLEqual("",
- new String(outputStream.toByteArray(), "UTF-8"));
- }
-
protected final Resource[] getSoapSchemas() {
return new Resource[]{new ClassPathResource("xml.xsd", AbstractSoap12MessageTestCase.class),
new ClassPathResource("soap12.xsd", AbstractSoap12MessageTestCase.class)};
}
- public void testWriteToTransportResponse() throws Exception {
+ public void testWriteToTransportOutputStream() throws Exception {
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
MockTransportOutputStream tos = new MockTransportOutputStream(bos);
soapMessage.writeTo(tos);
String result = bos.toString("UTF-8");
- assertXMLEqual("", result);
+ assertXMLEqual("", result);
String contentType = (String) tos.getHeaders().get("Content-Type");
assertTrue("Invalid Content-Type set", contentType.indexOf(SoapVersion.SOAP_12.getContentType()) != -1);
}
diff --git a/pom.xml b/pom.xml
index 118812fd..320f9a29 100644
--- a/pom.xml
+++ b/pom.xml
@@ -459,12 +459,12 @@
org.apache.ws.commons.axiom
axiom-api
- 1.2.1
+ 1.2.3
org.apache.ws.commons.axiom
axiom-impl
- 1.2.1
+ 1.2.3