1 17 18 package org.apache.sandesha.samples; 19 20 import org.apache.axis.client.Call; 21 import org.apache.axis.client.Service; 22 import org.apache.axis.components.uuid.UUIDGen; 23 import org.apache.axis.components.uuid.UUIDGenFactory; 24 import org.apache.axis.encoding.XMLType; 25 import org.apache.sandesha.Constants; 26 import org.apache.sandesha.RMReport; 27 import org.apache.sandesha.SandeshaContext; 28 29 import javax.xml.namespace.QName ; 30 import javax.xml.rpc.ParameterMode ; 31 32 public class EchoClientAsyncAck { 33 34 private static String defaultServerPort = "8070"; 35 private static String defaultClientPort = "9070"; 36 private static String targetURL = "http://127.0.0.1:" + defaultServerPort + 37 "/axis/services/RMSampleService"; 38 39 public static void main(String [] args) { 40 41 System.out.println("EchoClientAsyncAck Started ........"); 42 43 try { 44 UUIDGen uuidGen = UUIDGenFactory.getUUIDGen(); String str = uuidGen.nextUUID(); 46 47 Service service = new Service(); 48 Call call = (Call) service.createCall(); 49 50 SandeshaContext ctx = new SandeshaContext(); 51 52 ctx.setAcksToURL("http://127.0.0.1:" + defaultClientPort + "/axis/services/RMService"); 53 ctx.setReplyToURL("http://127.0.0.1:" + defaultClientPort + "/axis/services/RMService"); 54 ctx.setSendOffer(true); 55 ctx.initCall(call, targetURL, "urn:wsrm:echoString", Constants.ClientProperties.IN_OUT); 56 57 call.setOperationName(new QName ("http://tempuri.org/", "echoString")); 58 59 call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN); 60 call.addParameter("arg2", XMLType.XSD_STRING, ParameterMode.IN); 61 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); 62 63 String ret = (String ) call.invoke(new Object []{"Sandesha Echo 1", str}); 64 System.out.println("The Response for First Messsage is :" + ret); 65 66 ret = (String ) call.invoke(new Object []{"Sandesha Echo 2", str}); 67 System.out.println("The Response for Second Messsage is :" + ret); 68 69 ctx.setLastMessage(call); 70 ret = (String ) call.invoke(new Object []{"Sandesha Echo 3", str}); 71 System.out.println("The Response for Third Messsage is :" + ret); 72 73 RMReport report = ctx.endSequence(); 74 75 76 if (report != null) { 77 System.out.println("\n***********Printing RM Report***********"); 78 System.out.println("Is all messages acked - " + report.isAllAcked()); 79 System.out.println("No of response messages - " + report.getNumberOfReturnMessages()); 80 System.out.println("****************************************\n"); 81 } 82 83 } catch (Exception e) { 84 e.printStackTrace(); 85 } 86 } 87 } 88 | Popular Tags |