I finally found some time to look more at your question.

Also keep in mind that Axis2 uses an older version 3.x of XMLBeans, as the
project was retired then a few years later brought back to life because
Apache POI uses it. 5.2.0 was released recently.

Anyways, I am not familiar with the Extension Interfaces Feature yet I
suggest just adding it then to Axis2 as a new feature if you are so
inclined as I doubt it is hard to do. At a glance, early in the XMLBeans
5.x series that feature had problems but seems to be fixed now.

If you could suggest how we could improve the docs here please send a pull
request to our apache axis2 github repo.

I am trying hard at the moment to wrap up the next Axis2 release soon and
can only say right now that I can get any changes you supply via pull
requests merged into our repo. Anything beyond that which requires help,
please create a Jira.



On Sun, Jan 28, 2024 at 6:56 AM Steven De Herdt <
steven.dehe...@ritacollege.be> wrote:

> Hi Robert
>
> Thanks for your answer.  It took me a while to examine my options here,
> it's a lot more complicated than the acronym "SOAP" suggests...
>
> At first I was looking through the code that does code generation.  It
> seemed rather involved to fork it and make it do exactly what I wanted.
> Then, following your hint about WSDL2Code's command line arguments, I
> discovered '-xsdconfig'.  I am already using the XMLBeans bindings, and
> it turns out there's a feature in there that's exactly what I'm looking
> for:
>
> https://cwiki.apache.org/confluence/display/XMLBEANS/ExtensionInterfacesFeature
> .  Nice, and I could get it to work with XMLBeans' scomp utility.  I
> managed to pass the location of the xsdconfig file through my pom.xml --
> not clearly documented, see here:
> https://marc.info/?l=axis-user&m=120177766308116.  Apparently though,
> the code in axis2-xmlbeans to parse the xsdconfig does not support this
> Extension Interfaces Feature.  (I also noticed that changing a generated
> class name (qname element) fails with the xsdconfig through Maven, while
> the same xsdconfig through scomp works.)
>
> So back to square one I guess.  Would it be easiest to just fork a
> codegen package and make a quick and dirty hack in the code or a
> stylesheet?
>
> Greetings
> -Steven
>
>
> Op 19/12/2023 om 21:35 schreef robertlazarski:
> > The two things I suggest looking into are the WSDCode java class with
> > ways such as Ant / Maven to tie into it...
> >
> > And the xls code for each data binding - ADB, XMLBeans, JAXB among
> > others - that does the "implements org.apache.axis2.data
> > binding.*" generation that is particular to the binding.
> >
> > Since WSDL2Code supports quite a few line arguments, that'd be the place
> > I would try to tie into the "implements" part of the interface and class
> > generation from the WSDL and XSD files.
> >
> > On Mon, Dec 18, 2023 at 6:31 AM Steven De Herdt
> > <steven.dehe...@ritacollege.be.invalid> wrote:
> >
> >     Hello
> >
> >     The project I'm working on is a client implementing dozens of WSDL
> >     operations/SOAP call types.  The SOAP bodies involved all follow a
> >     general structure, which is described in as many dozens of XSD's,
> >     differing only in some types several levels deep into the SOAP body.
> >     Error representation, bundling requests etc. are all exactly the
> same.
> >
> >     When generating the service stubs, wsdl2code helpfully prepares all
> >     classes and types involved.  These of course also follow the same
> >     structure for each call type, but all those parallel classes are of
> >     unrelated types.  I understand they can't just be the same, but it
> >     would
> >     be nice for code reuse if they each implemented an interface
> describing
> >     common methods.  The names of the methods are already the same,
> return
> >     types declared in the interfaces could be these new interfaces, so I
> >     would just need an "implements GenericAnswerType" or some-such in the
> >     generated classes.
> >
> >     Now my question: can I get something like that by plugging into Axis'
> >     code generation?  Or is there perhaps another way to do code
> >     transformation or patching from Maven?  If possible, I'd like to
> avoid
> >     'tampering' manually with the generated sources.
> >
> >     Thanks for any pointers you might give me.
> >     -Steven
> >
> >     ---------------------------------------------------------------------
> >     To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
> >     <mailto:java-user-unsubscr...@axis.apache.org>
> >     For additional commands, e-mail: java-user-h...@axis.apache.org
> >     <mailto:java-user-h...@axis.apache.org>
> >
>

Reply via email to