You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by pz...@apache.org on 2005/11/03 12:11:54 UTC

svn commit: r330526 - in /incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2: Sender.class Sender.java

Author: pzf
Date: Thu Nov  3 03:11:47 2005
New Revision: 330526

URL: http://svn.apache.org/viewcvs?rev=330526&view=rev
Log:
Added new prototype paul2

Modified:
    incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.class
    incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.java

Modified: incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.class
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.class?rev=330526&r1=330525&r2=330526&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.java
URL: http://svn.apache.org/viewcvs/incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.java?rev=330526&r1=330525&r2=330526&view=diff
==============================================================================
--- incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.java (original)
+++ incubator/synapse/trunk/scratch/paul2/synapsejoint/org/apache/synapse/axis2/Sender.java Thu Nov  3 03:11:47 2005
@@ -15,23 +15,19 @@
  */
 package org.apache.synapse.axis2;
 
-
-
 import javax.xml.stream.FactoryConfigurationError;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
+
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.clientapi.Call;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
 
 import org.apache.axis2.engine.AxisEngine;
 
-
 import org.apache.axis2.om.OMAbstractFactory;
-import org.apache.axis2.util.Utils;
-
+import org.apache.axis2.transport.http.HTTPConstants;
 
 import org.apache.synapse.SynapseException;
 
@@ -42,54 +38,48 @@
 			Call call = new Call();
 			call.setTo(messageContext.getTo());
 
-			System.out.println(messageContext.getTo().getAddress());
-			 
+			SynapseDispatcher sd = new SynapseDispatcher();
+			sd.initDispatcher();
+			AxisService synapseService = sd.findService(messageContext);
+			AxisOperation synapseOperation = sd.findOperation(synapseService,
+					messageContext);
+
 			AxisOperation ao = messageContext.getAxisOperation();
-			System.out.println("sending");
-			MessageContext result = call.invokeBlocking(ao, messageContext); 
-			 
-	        
-
-	        
-	        MessageContext outMsgContext = Utils.createOutMessageContext(messageContext);
-	        AxisEngine ae =
-	                new AxisEngine(
-	                        messageContext.getOperationContext().getServiceContext().getConfigurationContext());
-	        //hack alert
-            outMsgContext.setEnvelope(result.getEnvelope());
-            if (outMsgContext.getEnvelope().getHeader()==null) outMsgContext.getEnvelope().getBody().insertSiblingBefore(OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope().getHeader());
-            result.getEnvelope().serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(System.out));
-            //System.out.println("about to receive");
+
+			MessageContext outMsgContext = call.invokeBlocking(ao,
+					messageContext);
+
+			AxisEngine ae = new AxisEngine(messageContext.getSystemContext());
+
+			// deal with the fact that AddressingOutHandler has a bug if there
+			// is no header at all.
+			if (outMsgContext.getEnvelope().getHeader() == null)
+				outMsgContext.getEnvelope().getBody().insertSiblingBefore(
+						OMAbstractFactory.getSOAP11Factory()
+								.getDefaultEnvelope().getHeader());
+
+			outMsgContext.setAxisService(synapseService);
+			outMsgContext.setAxisOperation(synapseOperation);
+
+			// run all rules again
 			ae.receive(outMsgContext);
-			System.out.println("about to respond");
+
+			Object os = messageContext
+					.getProperty(MessageContext.TRANSPORT_OUT);
+			outMsgContext.setProperty(MessageContext.TRANSPORT_OUT, os);
+			Object ti = messageContext
+					.getProperty(HTTPConstants.HTTPOutTransportInfo);
+			outMsgContext.setProperty(HTTPConstants.HTTPOutTransportInfo, ti);
+
+			// respond to client
 			ae.send(outMsgContext);
-			
 
 		} catch (AxisFault e) {
 			throw new SynapseException(e);
-		} catch (XMLStreamException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		} catch (FactoryConfigurationError e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new SynapseException(e);
+			
 		}
 	}
 
 }
-/* result.setServerSide(true);
-Object os = messageContext
-.getProperty(MessageContext.TRANSPORT_OUT);
-result.setProperty(MessageContext.TRANSPORT_OUT, os);
-Object ti = messageContext
-.getProperty(HTTPConstants.HTTPOutTransportInfo);
-result.setProperty(HTTPConstants.HTTPOutTransportInfo, ti);
-
-//if (result.getReplyTo()==null) result.setReplyTo(new EndpointReference("http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"));
-//result.setAxisService(null);
-result.setAxisService()
-
-//result.setAxisOperation(null);
-result.setServerSide(true);
-//respMC.setProperty("synapseResponse", Boolean.TRUE);
-*/
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org