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