ok, so wsdl2java-generated code created the cachedSerFactories list. so if i
want a custom serializer/deserializer am
i supposed to change the generated stub code? that does NOT seem right at
all... if that was the way to do it then
what's the point of the client-config.wsdd file?
> 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.
>
>
>