You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2005/11/22 19:22:52 UTC
svn commit: r348202 - in
/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client:
InOutMEPClient.java TwoWayTransportBasedSender.java
Author: dims
Date: Tue Nov 22 10:22:48 2005
New Revision: 348202
URL: http://svn.apache.org/viewcvs?rev=348202&view=rev
Log:
get rid of extra class with just one method.
Removed:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/TwoWayTransportBasedSender.java
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/InOutMEPClient.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/InOutMEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/InOutMEPClient.java?rev=348202&r1=348201&r2=348202&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/InOutMEPClient.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/InOutMEPClient.java Tue Nov 22 10:22:48 2005
@@ -34,6 +34,7 @@
import org.apache.axis2.soap.SOAPEnvelope;
import org.apache.axis2.soap.SOAPFault;
import org.apache.axis2.transport.TransportListener;
+import org.apache.axis2.transport.TransportUtils;
import org.apache.axis2.util.UUIDGenerator;
import org.apache.wsdl.WSDLConstants;
@@ -179,7 +180,7 @@
//Send the SOAP Message and receive a response
MessageContext response =
- TwoWayTransportBasedSender.send(msgctx, listenerTransport);
+ send(msgctx, listenerTransport);
//check for a fault and return the result
SOAPEnvelope resenvelope = response.getEnvelope();
@@ -413,7 +414,7 @@
msgctx.setServiceContext(serviceContext);
//send the request and wait for reponse
MessageContext response =
- TwoWayTransportBasedSender.send(msgctx, listenerTransport);
+ send(msgctx, listenerTransport);
//call the callback
SOAPEnvelope resenvelope = response.getEnvelope();
SOAPBody body = resenvelope.getBody();
@@ -455,5 +456,47 @@
*/
public long getTimeOutInMilliSeconds() {
return timeOutInMilliSeconds;
+ }
+
+ /**
+ * Sends the message using a two way transport and waits for a response
+ *
+ * @param msgctx
+ * @param transportIn
+ * @return
+ * @throws AxisFault
+ */
+ public MessageContext send(MessageContext msgctx,
+ TransportInDescription transportIn) throws AxisFault {
+
+ AxisEngine engine = new AxisEngine(msgctx.getSystemContext());
+ engine.send(msgctx);
+
+ //create the response
+ MessageContext response =
+ new MessageContext(msgctx.getSystemContext(),
+ msgctx.getSessionContext(),
+ msgctx.getTransportIn(),
+ msgctx.getTransportOut());
+ response.setProperty(MessageContext.TRANSPORT_IN,
+ msgctx.getProperty(MessageContext.TRANSPORT_IN));
+ msgctx.getAxisOperation().registerOperationContext(response,msgctx.getOperationContext());
+ response.setServerSide(false);
+ response.setServiceContext(msgctx.getServiceContext());
+ response.setServiceGroupContext(msgctx.getServiceGroupContext());
+
+ //If request is REST we assume the response is REST, so set the variable
+ response.setDoingREST(msgctx.isDoingREST());
+
+ SOAPEnvelope resenvelope = TransportUtils.createSOAPMessage(response, msgctx.getEnvelope().getNamespace().getName());
+
+ if (resenvelope != null) {
+ response.setEnvelope(resenvelope);
+ engine = new AxisEngine(msgctx.getSystemContext());
+ engine.receive(response);
+ } else {
+ throw new AxisFault(Messages.getMessage("blockingInvocationExpectsResponse"));
+ }
+ return response;
}
}