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