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