Stephen,

It could be the isRecursive() check in VectorSerializer.java. Try commenting that out. 
It was
added to prevent a circular references. See
http://cvs.apache.org/viewcvs.cgi/xml-axis/java/src/org/apache/axis/encoding/ser/VectorSerializer.java
for cvs log of changes.

Thanks,
dims

--- Stephen Graham <[EMAIL PROTECTED]> wrote:
> Hello,
> 
> I've noticed a huge decrease in performance with RC2. A transaction that
> typically takes 300ms with Axis 1.0, 1.1Beta and RC1 now takes 1500ms with
> RC2.
> 
> This performance decrease seems to be only affecting methods that return a
> Vector (SOAP_VECTOR) from the service - but I'll need to carry out further
> testing to verify this. Does anybody have any ideas on what the problem
> might be?
> 
> Here's sample code of what has slowed down.
> 
>   public Vector getResourcesOfType(long authorityToken, int resourceTypeId)
> {
>     long startTick = System.currentTimeMillis();
> 
>     String  methodName  = "getResourcesOfType";
>     Vector  results     = null;
>     try {
>       Call    call    = (Call)service.createCall();
>       QName   qname1  = new QName(urnClassName, "Resource");
>       QName   qname2  = new QName(urnClassName, "ResourceType");
> 
>       call.registerTypeMapping(Resource.class, qname1,
>         new BeanSerializerFactory(Resource.class, qname1),
>         new BeanDeserializerFactory(Resource.class, qname1));
>       call.registerTypeMapping(ResourceType.class, qname2,
>         new BeanSerializerFactory(ResourceType.class, qname2),
>         new BeanDeserializerFactory(ResourceType.class, qname2));
>       call.setTargetEndpointAddress(AppServerURL);
>       call.setOperationName(new QName(serviceName, "getResourcesOfType"));
>       call.addParameter("authorityToken", XMLType.XSD_LONG,
> ParameterMode.IN);
>       call.addParameter("resourceTypeId", XMLType.XSD_INTEGER,
> ParameterMode.IN);
>       call.setReturnType(XMLType.SOAP_VECTOR);
>       results = (Vector)call.invoke(new Object[]{new Long(authorityToken),
> new Integer(resourceTypeId)});
>     }
>     catch(AxisFault ax) {
>       logger.error(methodName + " : " + ax);
>     }
>     catch(Exception ex) {
>       logger.error(methodName + " : " + ex);
>     }
>     logger.info(methodName + " : " + (System.currentTimeMillis() -
> startTick));
>     return results;
> 
> Regards
> Stephen Graham.
> 


=====
Davanum Srinivas - http://webservices.apache.org/~dims/

__________________________________________________
Do you Yahoo!?
Yahoo! Web Hosting - establish your business online
http://webhosting.yahoo.com

Reply via email to