Hi, 

I'm using the ant codegen task to build the Google Adwords v2009 API and
am running into issues relating to the code generator's handling of
complex extensions.

The initial issue is that the sub-types of an explicitly referenced type
are not themselves explicitly referenced, they are not built (eg.
ImageAd extends Ad and is not built).  I know that this has been
discussed before and I'm able to resolve the top-level issue by enabling
both -ss and -g ("serverSide" and "generateAllClasses" in the ant task)
in the code generator.  Unfortunately, when I do this, I run into an
issue that relates to Google's use of the same name for both their main
fault soap message and a complex type.  Both are named APIException.  As
a result of this, when the inner classes are unpacked from the Stubs,
the Fault (which extends Exception) is generated first and then not
overwritten by the complex type (which does not).

The simplest solution that I can think of for this would be to find a
way to enable the functionality of -g/generateAllClasses without the
-ss/serverSide.  This would resolve the issue because the classes would
no longer have any reason to be unpacked from the Stub and would
therefor reside properly in different namespaces.  I do not know how to
do this, so any help would be very kindly appreciated.

I'm open to other suggestions for handling this issue.  Please feel free
to ask for any further details that I can provide.

Thanks kindly in advance,

--Brandon Low

Reply via email to