As post alpha2 deployment architecture changed, I was trying to register a custom provider (as an alternative to registering a generic handler). WSDDProvider API allows me to, but there is inconsistency with the rest of the code: everywhere the assumption is that WSDDProvider.providers hashtable contains instances of WSDDProvider, the registerProvider API takes class, and obviously, there is no way to cast an object to a class. WSDDProvider.providers hashtable is also declared private, so there is no way around -- the API has to be fixed. The already existing static code block in the beginning of the WSDDProvider.java validates my suggestion.

Here is the CVS diff with a very simple fix. Can anyone commit this? Thanks.

RCS file: /home/cvspublic/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDProvider.java,v
retrieving revision 1.14
diff -r1.14 WSDDProvider.java
105c105
<     public static void registerProvider(String uri, Class _class)
---
>     public static void registerProvider(QName uri, WSDDProvider prov)
107c107
<         providers.put(uri, _class);
---
>         providers.put(uri, prov);

-- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
-- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788