Author: chathura_ce
Date: Wed Apr  4 01:54:47 2007
New Revision: 525462

URL: http://svn.apache.org/viewvc?view=rev&rev=525462
Log:
Added an option for clients to specify the size of the request SOAP message. 
Client will add specified number of dummy elements to the SOAP body and 
Services will also return the same dummy elements. This can be used to get an 
idea of performance of Synapse and load balancing / failover implementation for 
large SOAP messages.

Modified:
    
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
    
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
    
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
    
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
    
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
    webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml

Modified: 
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- 
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
 Wed Apr  4 01:54:47 2007
@@ -22,6 +22,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axis2.AxisFault;
 
+import javax.xml.namespace.QName;
+
 public class LBService1 {
 
     public OMElement setClientName(OMElement cName) {
@@ -47,11 +49,12 @@
         return param;
     }
 
-    public OMElement sleepOperation(OMElement timeElement) throws AxisFault {
+    public OMElement sleepOperation(OMElement param) throws AxisFault {
 
-        timeElement.build();
-        timeElement.detach();
+        param.build();
+        param.detach();
 
+        OMElement timeElement = param.getFirstChildWithName(new QName("load"));
         String time = timeElement.getText();
         try {
             Thread.sleep(Long.parseLong(time));
@@ -65,14 +68,15 @@
         } else {
             timeElement.setText("Response from anonymous server");
         }
-        return timeElement;
+        return param;
     }
-        
-    public OMElement loadOperation(OMElement loadElement) throws AxisFault {
 
-        loadElement.build();
-        loadElement.detach();
+    public OMElement loadOperation(OMElement param) throws AxisFault {
 
+        param.build();
+        param.detach();
+
+        OMElement loadElement = param.getFirstChildWithName(new QName("load"));
         String l = loadElement.getText();
         long load = Long.parseLong(l);
 
@@ -86,6 +90,6 @@
         } else {
             loadElement.setText("Response from anonymous server");
         }
-        return loadElement;
+        return param;
     }
 }

Modified: 
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- 
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
 Wed Apr  4 01:54:47 2007
@@ -23,6 +23,8 @@
 import org.apache.axis2.context.OperationContext;
 import org.apache.axis2.context.ServiceContext;
 
+import javax.xml.namespace.QName;
+
 public class LBService2 {
 
     private ServiceContext serviceContext = null;
@@ -31,13 +33,17 @@
         this.serviceContext = serviceContext;
     }
 
-    public OMElement sleepOperation(OMElement param) {
+    public OMElement sleepOperation(OMElement topParam) {
+
+        topParam.build();
+        topParam.detach();
 
-        param.build();
-        param.detach();
+        OMElement param = topParam.getFirstChildWithName(new QName("load"));
+        String l = param.getText();
+        long time = Long.parseLong(l);
 
         try {
-            Thread.sleep(2000);
+            Thread.sleep(time);
         } catch (InterruptedException e) {
             e.printStackTrace();  //To change body of catch statement use File 
| Settings | File Templates.
         }
@@ -71,14 +77,15 @@
 
         param.setText(msg);
 
-        return param;
+        return topParam;
     }
 
-    public OMElement loadOperation(OMElement param) {
+    public OMElement loadOperation(OMElement topParam) {
 
-        param.build();
-        param.detach();
+        topParam.build();
+        topParam.detach();
 
+        OMElement param = topParam.getFirstChildWithName(new QName("load"));
         String l = param.getText();
         long load = Long.parseLong(l);
 
@@ -115,7 +122,7 @@
 
         param.setText(msg);
 
-        return param;
+        return topParam;
     }
 
     public OMElement setClientName(OMElement name) {

Modified: 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
 Wed Apr  4 01:54:47 2007
@@ -97,8 +97,7 @@
         value.setText("Sample string");
 
         Options options = new Options();
-        options.setTo(new EndpointReference
-                ("http://localhost:"; + synapsePort + 
"/soap/services/LoadbalanceFailoverService"));
+        options.setTo(new EndpointReference("http://localhost:"; + 
synapsePort));
 
         options.setAction("sampleOperation");
 
@@ -121,7 +120,7 @@
             }
 
         } catch (AxisFault axisFault) {
-            axisFault.printStackTrace();
+            System.out.println(axisFault.getMessage());
         }
     }
 
@@ -162,8 +161,7 @@
         }
 
         Options options = new Options();
-        options.setTo(new EndpointReference
-                ("http://localhost:"; + synapsePort + 
"/soap/services/LoadbalanceFailoverService"));
+        options.setTo(new EndpointReference("http://localhost:"; + 
synapsePort));
         options.setAction("sampleOperation");
         options.setTimeOutInMilliSeconds(10000000);
 
@@ -206,7 +204,7 @@
             }
 
         } catch (AxisFault axisFault) {
-            axisFault.printStackTrace();
+            System.out.println(axisFault.getMessage());
         }
     }
 

Modified: 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
 Wed Apr  4 01:54:47 2007
@@ -30,8 +30,6 @@
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPHeaderBlock;
 
 import javax.xml.namespace.QName;
@@ -72,8 +70,11 @@
         }
 
         fac = OMAbstractFactory.getOMFactory();
-        msg = fac.createOMElement("sleepTime", null);
-        msg.setText("1000");
+        msg = fac.createOMElement("SampleMsg", null);
+
+        OMElement load = fac.createOMElement("load", null);
+        load.setText("1000");
+        msg.addChild(load);
     }
 
     public String getInvokerName() {
@@ -103,8 +104,20 @@
         return runningTime;
     }
 
-    public void setMessage(String msgText) {
-        msg.setText(msgText);
+    public void setLoad(String load) {
+        OMElement loadElement = msg.getFirstChildWithName(new QName("load"));
+        loadElement.setText(load);
+    }
+
+    public void addDummyElements(long numElements) {
+        OMElement dummies = fac.createOMElement("Dummies", null);
+        msg.addChild(dummies);
+
+        for (long i = 0; i < numElements; i++) {
+            OMElement dummy = fac.createOMElement("Dummy", null);
+            dummy.setText("This is the dummy element " + i);
+            dummies.addChild(dummy);
+        }
     }
 
     public void setClientSessionID(String id) {
@@ -137,7 +150,8 @@
 
             for (long i=0; i < iterations; i++) {
                 OMElement response2 = client.sendReceive(msg);
-                System.out.println(invokerName + ": " + response2.toString());
+                OMElement loadElement = response2.getFirstChildWithName(new 
QName("load"));
+                System.out.println(invokerName + ": " + 
loadElement.toString());
             }
 
             long t2 = System.currentTimeMillis();
@@ -148,7 +162,7 @@
             runningTime = t2 - t1;
 
         } catch (AxisFault axisFault) {
-            axisFault.printStackTrace();  //To change body of catch statement 
use File | Settings | File Templates.
+            System.out.println(axisFault.getMessage());
         }
     }
 }

Modified: 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
 Wed Apr  4 01:54:47 2007
@@ -61,11 +61,18 @@
         }
         System.out.println("Number of requests: " + requests);
 
-        String msg = System.getProperty("load");
-        if (msg == null) {
-            msg = "1000";
+        String loadParameter = System.getProperty("load");
+        if (loadParameter == null) {
+            loadParameter = "1000";
         }
-        System.out.println("Load: " + msg);
+        System.out.println("Load: " + loadParameter);
+
+        long msgSize = 0;
+        String msgSizeProp = System.getProperty("msg");
+        if (msgSizeProp != null) {
+            msgSize = Long.parseLong(msgSizeProp);
+        }
+        System.out.println("Number of dummy elements in the message: " + 
msgSize);
 
         String sessionProp = System.getProperty("session");
         if (sessionProp == null) {
@@ -97,7 +104,8 @@
 
             invoker.setInvokerName("CLIENT " + i);
             invoker.setIterations(requests);
-            invoker.setMessage(msg);
+            invoker.setLoad(loadParameter);
+            invoker.addDummyElements(msgSize);
 
             if (session == SIMPLE_CLIENT_SESSION) {
                 invoker.setClientSessionID("CLIENT " + i);

Modified: 
webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml 
(original)
+++ webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml 
Wed Apr  4 01:54:47 2007
@@ -180,6 +180,7 @@
             <sysproperty key="op" value="${op}"/>
             <sysproperty key="req" value="${req}"/>
             <sysproperty key="load" value="${load}"/>
+            <sysproperty key="msg" value="${msg}"/>
             <sysproperty key="t" value="${t}"/>
             <sysproperty key="session" value="${session}"/>            
         </java>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to