I'll fix that.

- Drew

On Jan 2, 2007, at 6:22 PM, Chad Schoettger wrote:

Hi Drew,

Thanks for the patch.

While taking a look at it I found that WSDLs are not being cached as
one might expect.

The key value being used for the _wsdlCache cache is a
ServiceControl.WSDL instance returned from the control context.  A new
instance (actually a BeanPropertyMap created by the control context)
will be returned for each new instance of a service control which gets
created.  The end effect being that the cached WSDL is not used for
multiple instances of a control.

Instead you might want to modify your patch to use the
ServiceControl.WSDL.path value as the key for the cache map.  This
value points to the location the WSDL is loaded from and should be
safe to use in a static cache and should ensure that any given WSDL is
only parsed once.

There may be other options as well, this is just the first that comes to mind.

Since the service control is not yet part of the official Beehive
distribution its DRTs need to be run manually from:

system-controls/test/webservice/ant drt


 - Chad

Reply via email to