Hello. Two performance issues:
1. I just wonder why in generated stub code the call objects aren't cached? I.e. the follow code take place during every (even subsequently) function call: // In function private org.apache.axis.client.Call createCall() throws java.rmi.RemoteException { org.apache.axis.client.Call call = (org.apache.axis.client.Call) super.service.createCall (); if (super.maintainSessionSet) { call.setMaintainSession(super.maintainSession); } if (super.cachedUsername != null) { call.setUsername(super.cachedUsername); } if (super.cachedPassword != null) { call.setPassword(super.cachedPassword); } if (super.cachedEndpoint != null) { call.setTargetEndpointAddress(super.cachedEndpoint); } if (super.cachedTimeout != null) { call.setTimeout(super.cachedTimeout); } java.util.Enumeration keys = super.cachedProperties.keys(); while (keys.hasMoreElements()) { String key = (String) keys.nextElement(); if(call.isPropertySupported(key)) call.setProperty(key, super.cachedProperties.get(key)); else call.setScopedProperty(key, super.cachedProperties.get(key)); } // In function public Hugo foo(...) javax.xml.namespace.QName p0QName = new javax.xml.namespace.QName ("", "bar"); call.addParameter(p0QName, new javax.xml.namespace.QName ("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, javax.xml.rpc.ParameterMode.IN); call.setReturnType(new javax.xml.namespace.QName ("urn:HugoNameSpace", "Hugo")); call.setUseSOAPAction(true); call.setSOAPActionURI(""); call.setOperationStyle("rpc"); call.setOperationName(new javax.xml.namespace.QName ("urn:FooNamespace", "foo")); One could simple cache the call object(s) (in the same way as serializer/deserializer) in Hashtable or in Array (if for each method an unique index in the array is assigned). 2. Type registration take place not untill the first call is made. That's why the performance of first call isn't ideal. (In my case first call= 5 second, second call 2.5 second) I would like to initialize all the needed stuf in the startup phase of the client. To achive it now, I have define a dummy method and call it, because the function createCall is private and cannot be called directly from the client. Any comments? Thank you. David Ostrovsky