17 seconds sounds pretty typical for your application server to recycle and load the classes. Maybe I'm not understanding the provlem fully.
Chris ----- Reply message ----- From: "sean_wang" <sean_w...@cib.com.cn> Date: Sun, Apr 10, 2011 20:12 Subject: Help! First Accessing to Service on remote machine is very slow! To: "java-user@axis.apache.org" <java-user@axis.apache.org> Dear All When I use RPCServiceClient access to call the Axis2 web services on the local machine,it is very fast。 But when I use RPCServiceClient to call the Axis2 web services on the remote machine,it's very slowly,especially on the first time I call the Axis2. When I call the Axis2 on the remote machine continuously,the result is : 1,wait0seconds,use 17516 milliseconds 2,wait1seconds,use 15 milliseconds 3,wait2seconds,use 16 milliseconds 4,wait3seconds,use 16 milliseconds 5,wait4seconds,use 15 milliseconds 6,wait5seconds,use 16 milliseconds 7,wait6seconds,use 15 milliseconds 8,wait7seconds,use 16 milliseconds 9,wait8seconds,use 16 milliseconds 10,wait9seconds,use 16 milliseconds ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… 30,wait29seconds,use 15 milliseconds 31,wait30seconds,use 16 milliseconds 32,wait31seconds,use 15 milliseconds 33,wait32seconds,use 17281 milliseconds 34,wait33seconds,use 17282 milliseconds 35,wait34seconds,use 17281 milliseconds 36,wait35seconds,use 17406 milliseconds The source Code is: public static void test() throws ServiceException{ long time0,time1,time2,time3; try { time0 = System.currentTimeMillis(); String method="getVersion"; String ret = null; RPCServiceClient rpcClient = new RPCServiceClient(); Options options = rpcClient.getOptions(); EndpointReference targetEPR = new EndpointReference("http://168.5.128.92:7201/axis2/services/Version"); options.setTo(targetEPR); options.setTimeOutInMilliSeconds(120000); QName opPrint = new QName(NAMESPACE, method); Class[] returnType = { String.class }; Object[] opAddEntryArgs = new Object[]{null}; for(int i=0;i<100;i++){ time1 = System.currentTimeMillis(); Object[] retVal = rpcClient.invokeBlocking(opPrint,opAddEntryArgs,returnType); time2 = System.currentTimeMillis(); System.out.println((i+1)+",wait"+ i +"seconds,use "+ (time2-time1)+" milliseconds"); Thread.sleep(1000 * (i+1)); } rpcClient.cleanup(); } catch (Exception e) { throw new ServiceException(e); } } Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org