You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2015/06/05 20:31:35 UTC
svn commit: r1683831 -
/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/utility/DataSourceFormatter.java
Author: veithen
Date: Fri Jun 5 18:31:34 2015
New Revision: 1683831
URL: http://svn.apache.org/r1683831
Log:
If you want to use an OMDataSource to store non-XML data, that's your problem, but don't tell Axiom to do anything with it.
Modified:
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/utility/DataSourceFormatter.java
Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/utility/DataSourceFormatter.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/utility/DataSourceFormatter.java?rev=1683831&r1=1683830&r2=1683831&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/utility/DataSourceFormatter.java (original)
+++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/utility/DataSourceFormatter.java Fri Jun 5 18:31:34 2015
@@ -59,21 +59,21 @@ public class DataSourceFormatter impleme
if (log.isDebugEnabled()) {
log.debug("start writeTo()");
}
+ OMElement omElement = messageContext.getEnvelope().getBody().getFirstElement();
+ DataSource busObject;
+ try {
+ busObject = (DataSource)((DataSourceBlock)((OMSourcedElement) omElement).getDataSource()).getBusinessObject(true);
+ } catch (XMLStreamException e) {
+ throw AxisFault.makeFault(e);
+ }
+ DataHandler dataHandler = new DataHandler(busObject);
if (attachments != null && !attachments.isEmpty()) {
- OMElement omElement = messageContext.getEnvelope().getBody().getFirstElement();
- DataSource busObject;
- try {
- busObject = (DataSource)((DataSourceBlock)((OMSourcedElement) omElement).getDataSource()).getBusinessObject(true);
- } catch (XMLStreamException e) {
- throw AxisFault.makeFault(e);
- }
OMMultipartWriter mpw = new OMMultipartWriter(outputStream, format);
- DataHandler rootDataHandler = new DataHandler(busObject);
- if (!rootDataHandler.getContentType().equals(contentType)) {
- rootDataHandler = new WrappedDataHandler(rootDataHandler, contentType);
+ if (!dataHandler.getContentType().equals(contentType)) {
+ dataHandler = new WrappedDataHandler(dataHandler, contentType);
}
try {
- mpw.writePart(rootDataHandler, format.getRootContentId());
+ mpw.writePart(dataHandler, format.getRootContentId());
for (String cid : attachments.keySet()) {
mpw.writePart(attachments.get(cid), cid);
}
@@ -83,19 +83,8 @@ public class DataSourceFormatter impleme
throw AxisFault.makeFault(ex);
}
} else {
- OMElement omElement = messageContext.getEnvelope().getBody().getFirstElement();
- if (omElement != null) {
- try {
- if (preserve) {
- omElement.serialize(outputStream, format);
- } else {
- omElement.serializeAndConsume(outputStream, format);
- }
- } catch (XMLStreamException e) {
- throw AxisFault.makeFault(e);
- }
- }
try {
+ dataHandler.writeTo(outputStream);
outputStream.flush();
} catch (IOException e) {
throw AxisFault.makeFault(e);