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
