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.