Return-Path: Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 41572 invoked by uid 500); 18 Feb 2003 18:16:10 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 41557 invoked from network); 18 Feb 2003 18:16:10 -0000 Message-ID: From: Glen Daniels To: "'axis-dev@ws.apache.org'" , wsif-dev@ws.apache.org Subject: RE: [wsif] generic type mapping [Re: bug 16485 [BeanDeserializer error when XML element starts with a capital letter]] Date: Tue, 18 Feb 2003 13:16:02 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Hola ant, everyone: I'm a little confused here. Could you please give me a usage scenario for what you're talking about? Why are people trying to tie apparently unrelated JavaBeans to XML serializations? It seems like either the schema will be built from the Java class to begin with, or the Java class will be built from the schema to begin with... any other pattern a) seems odd, and b) requires some kind of metadata to map the XML to the Java (otherwise, what do you do when the bean has field "name" and the XML has field "moniker"? Case-changing won't help you there...). How do these classes get created? Trying to grok the situation, --Glen > -----Original Message----- > From: Anthony Elder [mailto:ant.elder@uk.ibm.com] > Sent: Tuesday, February 18, 2003 12:20 PM > To: wsif-dev@ws.apache.org > Cc: axis-dev@ws.apache.org > Subject: Re: [wsif] generic type mapping [Re: bug 16485 > [BeanDeserializer error when XML element starts with a > capital letter]] > > > > From the comments Glen added to the bugzilla record the only > way to do this > if the bean itself doesn't have the TypeDesc info is to have > another class > named as the bean class name appended with "_Helper". (Glen, > please leap in > here if there is another way to do this) > > As WSIF is designed to be dynamic and we don't know what > WSDL will be used > or what bean classes are available before hand, for each > operation we'd > have to parse the WSDL schema, find the associated beans, > check for setters > for each field, if we don't find one, check again with a name > starting with > a lowercase letter, and if that finds one create a TypeDesc > class for it. > Perhaps we could do that with BCEL. > > Even if there is a way to register the TypeDesc info with AXIS without > generating a class on the fly, this is a lot of work to be > doing for each > WSIF operation. > > Another option would be for WSIF to have a patched copy the AXIS > BeanSerializer code which has the fix to try with a lowercase > 1st letter. > > ...ant > > Anthony Elder > ant.elder@uk.ibm.com > Web Services Development > IBM UK Laboratories, Hursley Park > (+44) 01962 818320, x248320, MP208. > > > Aleksander Slominski on 18/02/2003 16:12:01 > > Please respond to wsif-dev@ws.apache.org > > To: wsif-dev@ws.apache.org > cc: > Subject: [wsif] generic type mapping [Re: bug 16485 > [BeanDeserializer > error when XML element starts with a capital letter]] > > > > hi, > > why do you think that code generation is required? > > AFAIK there would be no code generation but just converting in AXIS > provider form WSIFTypeDesc (or something like that) into AXIS > TypeDesc? > > that would allow other WSIF providers to do do similar things: declare > mappings in provider specific way based on WSIFTypeDesc. we > already have > WSIFService.mapType()/WSIFDynamicTypeMap and we may just need > to take it > one step further and allow more fins grained mapping control? > > thanks, > > alek > > Owen D Burroughs wrote: > > >I don't think that WSIF should be generating code "on the > fly". This would > >be very slow. > > > >Owen > > > > > > > >|---------+----------------------------> > >| | Anthony | > >| | Elder/UK/IBM@IBMG| > >| | B | > >| | | > >| | 18/02/2003 12:04 | > >| | Please respond to| > >| | wsif-dev | > >| | | > >|---------+----------------------------> > > > > -------------------------------------------------------------- > -------------------------------------------------------------- > ----------------------| > > > | > | > > | To: wsif-dev@ws.apache.org > | > > | cc: > | > > | Subject: bug 16485 > | > > | > | > > | > | > > > > -------------------------------------------------------------- > -------------------------------------------------------------- > ----------------------| > > > > > > > > >A while ago a user reported a problem with WSIF using the AXIS bean > >serializer when the schema used names which start with a > capital letter: > > > >http://marc.theaimsgroup.com/?l=axis-user&m=104203857924370&w=2. > > > >I raised an AXIS bugzilla about it: > > > >http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16485 > > > >which has now been closed as working as designed. I guess > Glen is right in > >what he says about the reasons for closing this, but as the > original user > >pointed out, it seems wrong for WSIF to be dependent on the > AXIS specific > >TypeDesc info: > > > > > > > >>I would have expected WSIF not to be AXIS dependant for the complex > >>type mapping, as it makes the client code dependant upon the chosen > >>binding. From the code - but I'm really new to WSIF so there may be > >>better ways - it seemed to me that the AXIS provider would have to > >>generate the TypeDesc at runtime (i.e., doing WSDL2Java job) and > >>use it to create the proper BeanDeserializers. > >> > >> > > > >I'm not sure how easy it would be for WSIF to generate the > TypeDesc on the > >fly. What does anyone else think about this? > > > > ...ant > > > >Anthony Elder > >ant.elder@uk.ibm.com > >Web Services Development > >IBM UK Laboratories, Hursley Park > >(+44) 01962 818320, x248320, MP208. > > > > > > > > > > > > > > > > -- > "Mr. Pauli, we in the audience are all agreed that your > theory is crazy. > What divides us is whether it is crazy enough to be true." > Niels H. D. Bohr > > > > >