Many thanks Dan, that did it.  I had some issues getting eclipse happy with
my xjb file, finally ended up using this global bindings file:

https://code.google.com/p/security-automation-content-repository/source/browse/trunk/content-meta-model/src/main/xsd/global.xjb?r=79

My config section for the cxf codegen plugin contains these args:

                            <defaultOptions>
                                <extraargs>
                                    <extraarg>-verbose</extraarg>
                                    <extraarg>-all</extraarg>

<extraarg>-xjc-b,${basedir}/src/main/wsdl/soa/global-binding.xjb</extraarg>
                                </extraargs>
                            </defaultOptions>

And all the classes we need for convenience are generated.  Thanks much for
your help!

-Pete


On Tue, Jul 9, 2013 at 3:06 PM, Daniel Kulp <[email protected]> wrote:

>
> On Jul 9, 2013, at 4:19 PM, Pete Lamborne <[email protected]> wrote:
>
> > Hi Andrei,
> >
> > Many thanks for your response (I was on vacation when you replied).  It
> > looks like your suggestion will work just fine.  However, are you aware
> of
> > any way to make jaxb generate classes for elements?  I am unable to
> locate
> > any documentation about this.  Possibly using a binding file to disable
> > wrapper-style or something like that?
>
>
> I think if you add:
>
> <jaxb:globalBinding generateElementClass=”true”/>
>
> to a binding file, it may generate a class for it.
>
> Dan
>
>
>
>
>
>
> >
> > Thanks again,
> > Pete
> >
> >
> > On Fri, Jul 5, 2013 at 7:32 AM, Andrei Shakirin <[email protected]
> >wrote:
> >
> >> Hi Pete,
> >>
> >> It is normal JAXB behaviour. Java class will be generated for complex
> >> type, not for element.
> >> You can create element either using appropriate method from
> >> ObjectFactory.createQueryLineupRequest()
> >> or yourself using JAXBElement type:
> >> new
> JAXBElement<QueryLineupRequestMessageType>(_QueryLineupRequest_QNAME,
> >> QueryLineupRequestMessageType.class, null, value);
> >> where value is instance of QueryLineupRequestMessageType.
> >>
> >> Regards,
> >> Andrei.
> >>
> >>> -----Original Message-----
> >>> From: Pete Lamborne [mailto:[email protected]]
> >>> Sent: Dienstag, 2. Juli 2013 23:47
> >>> To: [email protected]
> >>> Subject: Generating classes with jaxb binding, container classes not
> >> gen'd
> >>>
> >>> Hi all,
> >>>
> >>> I am using the maven cxf-codegen-plugin, latest version 2.7.5, to
> >> generate
> >>> classes from a wsdl that was generated by Oracle SOA.  Only classes
> with
> >> a
> >>> concrete definition in the provided xsd get generated.  Here's an
> example
> >>> from the xsd:
> >>>
> >>> <s:element name="QueryLineupRequest"
> >>> type="tns:QueryLineupRequestMessageType
> >>> "/>
> >>> <s:complexType name="QueryLineupRequestMessageType">
> >>> <s:sequence>
> >>> <s:element name="RequestHeader" type="tns:RequestHeaderType"/>
> >>> <s:element name="RequestBody" type="tns:LineupRequestBodyType"/>
> >>> </s:sequence>
> >>> </s:complexType>
> >>>
> >>> The class QueryLineupRequestMessageType is generated, but the
> >>> "container"
> >>> class QueryLineupRequest is not.  The container class is the one I need
> >> to
> >>> send in a query payload.  There are no errors mentioned with verbose
> >>> logging enabled.
> >>>
> >>> The tns: prefix is self-referencing (the header points the file it's
> in).
> >>>
> >>> I've messed with most of the cxf args to no avail.  I'm wondering if I
> >> need to
> >>> change the binding type from JAXB (I'd rather stick with JAXB if I
> can),
> >> pass
> >>> some XJC args, or use a custom binding file.
> >>>
> >>> Any ideas?
> >>>
> >>> Thanks in advance!
> >>> Pete
> >>
>
> --
> Daniel Kulp
> [email protected] - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>
>

Reply via email to