Pradeep,

This is mostly to let you know that I've copied the SDO parts (not the Axiom 
and DOM stuff) of your project into CXF as part of getting a full SDO based 
databinding working in for CXF.    As part of that, I had to update a few 
things so that I could get my basic tests working.

1) ClassCollector - I did have to update the usage of the ClassCollector to 
record SOMETHING.   Right now, it does record the impls, but doesn't record 
the actual interfaces or the SdoFactory and other things.   That really needs 
some work or we'll hit some nasty cases where types are overwritten by JAX-WS 
artifacts and such.  

2) "dynamic" binding - when generating code for dynamic, I made it generate 
"DataObject" for the types where appropriate.   That allowed the generated 
code to actually compile.   I'm not 100% sure it's correct, but it works.   My 
round trip tests even work.   :-)

One issue I've discovered is that feeding the wsdl into the sdo code generator 
really doesn't work very well if the schemas are really in a wsdl that the 
original wsdl imports.   The code generator doesn't generate anything.   It 
looks like the code generator doesn't follow wsdl imports at all.   Thus, 
there are a couple options:

1) Update the sdo code generator to follow wsdl imports.  I don't know enough 
about the sdo code generator to know how hard that is to do.

2) Grab the schemas out of the ToolContext and feed them in directly.  This 
will be slightly complicated with imports and such, but nothing too major.   
This is what we do for JAXB.  This has a slight advantage in that urls and 
such would already be resolved through the catalogs and such.

Another note: the code the sdo code generator generates produces a BUNCH of 
warnings in eclipse.  Would people object to updating the sdo code generator 
to produce code with less warnings?    I'd ALSO like to add a "-java5" flag or 
something that would allow typing the lists (List<String>) and possibly add a 
@SuppressWarnings("unchecked") in the one method in the factory that has a 
checked issues,  but I'm not sure how bad that would be from a spec 
standpoint.  


Anyway, code is at: 
http://svn.apache.org/repos/asf/cxf/trunk/rt/databinding/sdo/

I have server side round trips (soap comes in, sdo objects created, impl 
called, response sent back via soap) working for both the static and dynamic 
cases.   Your plugin was definitely a huge help getting that working.


-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to