ok, so i'm trying to register a custom serializer and appearantly i have the 
right entry in my client-config.wsdd
because i see the call to TypeMappingImpl.internalRegister() with my ser 
factory when the locator is first created. 
but then on the very first call i see this:
SOAPHTTPBindingStub.createCall() (ln:379)
-> Call.registerTypeMapping() (ln:2303)
-> Call.registerTypeMapping() (ln:2266)
-> TypeMappingDelegate.register() (ln:73)
-> TypeMappingImpl.register() (ln:220)
-> TypeMappingImpl.internalRegister()
and lo and behold it's overwriting my mapping with the BeanSerializerFactory! :(
looking back through the Axis code the only thing i can see that might prevent 
this is this code in my
SOAPHTTPBindingStub:

                    for (int i = 0; i < cachedSerFactories.size(); ++i) {
                        java.lang.Class cls = (java.lang.Class) 
cachedSerClasses.get(i);
                        javax.xml.namespace.QName qName =
                                (javax.xml.namespace.QName) 
cachedSerQNames.get(i);
                        java.lang.Object x = cachedSerFactories.get(i);
                        if (x instanceof Class) {
                            java.lang.Class sf = (java.lang.Class)
                                 cachedSerFactories.get(i);
                            java.lang.Class df = (java.lang.Class)
                                 cachedDeserFactories.get(i);
                            _call.registerTypeMapping(cls, qName, sf, df, 
false); // line 379
                        }

so if i can prevent this cachedSerFactories guy from containing anything this 
code won't stomp on my mapping. 
question is - how do i prevent this?  will continue hunting but hoping someone 
has already solved this... :-/

..................ron.


Reply via email to