You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2007/03/17 14:58:31 UTC
svn commit: r519316 -
/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
Author: dims
Date: Sat Mar 17 06:58:30 2007
New Revision: 519316
URL: http://svn.apache.org/viewvc?view=rev&rev=519316
Log:
vastly simplify setContent, Ruchith - please verify, earlier code was wrong too as it was assuming that the incoming source was the whole soap envelope which was wrong
Modified:
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java?view=diff&rev=519316&r1=519315&r2=519316
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java Sat Mar 17 06:58:30 2007
@@ -37,6 +37,7 @@
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
@@ -44,6 +45,7 @@
import org.apache.axiom.attachments.utils.IOUtils;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axiom.om.impl.MTOMConstants;
+import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
import org.apache.axiom.om.impl.builder.StAXBuilder;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAP12Constants;
@@ -388,35 +390,9 @@
public void setContent(Source source) throws SOAPException {
this.source = source;
try {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- InputStream is;
- if (source instanceof StreamSource) {
- is = ((StreamSource) source).getInputStream();
- } else {
- Result result = new StreamResult(baos);
- Transformer xformer = TransformerFactory.newInstance().newTransformer();
- xformer.transform(source, result);
- is = new ByteArrayInputStream(baos.toByteArray());
- }
-
- XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
-
- StAXSOAPModelBuilder builder1 = null;
- if(this.envelope.element.getOMFactory() instanceof SOAP11Factory){
- builder1 = new StAXSOAPModelBuilder(reader,
- (SOAP11Factory)this.envelope.element.getOMFactory(),null);
- }else if(this.envelope.element.getOMFactory() instanceof SOAP12Factory){
- builder1 = new StAXSOAPModelBuilder(reader,
- (SOAP12Factory)this.envelope.element.getOMFactory(),null);
- }
-
- org.apache.axiom.soap.SOAPEnvelope soapEnvelope = builder1.getSOAPEnvelope();
- envelope = new SOAPEnvelopeImpl(
- (org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl)soapEnvelope);
- envelope.element.build();
- this.document = envelope.getOwnerDocument();
+ Result result = new DOMResult(this.envelope.element);
+ Transformer xformer = TransformerFactory.newInstance().newTransformer();
+ xformer.transform(source, result);
} catch (TransformerFactoryConfigurationError e) {
log.error(e);
throw new SOAPException(e);
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org