You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ba...@apache.org on 2008/11/17 21:26:11 UTC
svn commit: r718364 -
/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
Author: barrettj
Date: Mon Nov 17 12:26:11 2008
New Revision: 718364
URL: http://svn.apache.org/viewvc?rev=718364&view=rev
Log:
Add ability for Provider<OMElement> to return a fully constructed SOAPEnvelope and don't reparse it.
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java?rev=718364&r1=718363&r2=718364&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ProviderDispatcher.java Mon Nov 17 12:26:11 2008
@@ -52,6 +52,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPEnvelope;
import javax.activation.DataSource;
import javax.xml.soap.SOAPMessage;
@@ -476,6 +477,13 @@
log.debug("Creating message from SOAPMessage");
}
message = msgFactory.createFrom((SOAPMessage)value);
+ } else if (value instanceof SOAPEnvelope) {
+ // The value from the provider is already an SOAPEnvelope OMElement, so
+ // it doesn't need to be parsed into one.
+ if (log.isDebugEnabled()) {
+ log.debug("Creating message from OMElement");
+ }
+ message = msgFactory.createFrom((SOAPEnvelope) value, protocol);
} else {
if (log.isDebugEnabled()) {
log.debug("Creating message using " + factory);