Just a quick update on this.....
I've updated the SDO stuff in cxf to pull the schemas from the
XmlSchemaCollection we've already parsed and processed. Thus, it doesn't
need to handle imports or wsdl things or catalogs or anything like that as
we've already done it. Thus, that part is now done.
I've also figured out how to get the interfaces and factory classes into the
ClassCollector. Thus, it's looking pretty good now. Obviously, I need to
do a lot more testing with more complex scenarios and such, but as a "base",
it's looking pretty good.
On a side note, we also have a JAX-RS provider working with the SDO
databinding in CXF. :-)
Dan
On Wed July 22 2009 5:20:33 pm Daniel Kulp wrote:
>
> 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