Author: amilas
Date: Sun Mar  7 10:08:38 2010
New Revision: 919960

URL: http://svn.apache.org/viewvc?rev=919960&view=rev
Log:
always transport out should not be taken from the Http transport. Most of the 
time correct transport out is set
in the message context itself. so first should be look at it and then 
InCommingtransport name. http transport out 
can be looked only if nothing is there.

Modified:
    
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java

Modified: 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java?rev=919960&r1=919959&r2=919960&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/CommonsHTTPTransportSender.java
 Sun Mar  7 10:08:38 2010
@@ -22,6 +22,7 @@
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
+import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.ConfigurationContext;
@@ -30,6 +31,7 @@
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.description.InOutAxisOperation;
+import org.apache.axis2.description.WSDL2Constants;
 import org.apache.axis2.handlers.AbstractHandler;
 import org.apache.axis2.transport.MessageFormatter;
 import org.apache.axis2.transport.OutTransportInfo;
@@ -165,8 +167,18 @@
                 format.setMimeBoundary((String) mimeBoundaryProperty);
             }
 
-            TransportOutDescription transportOut = 
msgContext.getConfigurationContext().
-                    
getAxisConfiguration().getTransportOut(Constants.TRANSPORT_HTTP);
+            AxisConfiguration axisConfiguration = 
msgContext.getConfigurationContext().getAxisConfiguration();
+            TransportOutDescription transportOut = null;
+            if (msgContext.getTransportOut() != null){
+                 transportOut = msgContext.getTransportOut();
+            } else if (msgContext.getIncomingTransportName() != null){
+                transportOut = 
axisConfiguration.getTransportOut(msgContext.getIncomingTransportName());
+            } else if 
(msgContext.getOperationContext().getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN)
 != null){
+                String transportName = 
msgContext.getOperationContext().getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN).getIncomingTransportName();
+                transportOut = 
msgContext.getConfigurationContext().getAxisConfiguration().getTransportOut(transportName);
+            } else {
+                transportOut = 
msgContext.getConfigurationContext().getAxisConfiguration().getTransportOut(Constants.TRANSPORT_HTTP);
+            }
 
              // set the timeout properteies
 


Reply via email to