package net.javacrumbs.smock.axis2.client; import java.io.IOException; import net.javacrumbs.smock.extended.client.connection.MockConnection; import net.javacrumbs.smock.extended.client.connection.threadlocal.ThreadLocalMockWebServiceServer; import org.apache.axis2.AxisFault; import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.context.MessageContext; import org.apache.axis2.description.TransportOutDescription; import org.apache.axis2.handlers.AbstractHandler; import org.apache.axis2.transport.TransportSender; import org.apache.axis2.transport.TransportUtils; public class MockTransportSender extends AbstractHandler implements TransportSender { public InvocationResponse invoke(MessageContext msgContext) throws AxisFault { MockConnection activeConnection = ThreadLocalMockWebServiceServer.getActiveConnection(); TransportUtils.writeMessage(msgContext, activeConnection.getOutputStream()); try { msgContext.setProperty(MessageContext.TRANSPORT_IN, activeConnection.getInputStream()); } catch (IOException e) { throw new AxisFault("Error when processing request", e); } TransportUtils.setResponseWritten(msgContext, true); return InvocationResponse.CONTINUE; } public void cleanup(MessageContext msgContext) throws AxisFault { } public void init(ConfigurationContext confContext, TransportOutDescription transportOut) throws AxisFault { } public void stop() { } }