I did not commit the move to 2.1.10, too many strange incompatibilities. On Tue, Mar 31, 2009 at 1:04 PM, Daniel Kulp <[email protected]> wrote:
> > I just dug up my old tests and it looks like the problems with the -p stuff > is > fixed in JAXB 2.1.10. I'm not sure when it was fixed, but it definitely > looks OK with 2.1.10. Thus, I'm going to go ahead and remove the check for > the -p issues for CXF 2.2.1. > > Dan > > > On Tue March 31 2009 3:48:37 am Daniel Kulp wrote: > > On Mon March 30 2009 6:26:35 pm Rao, Sameer V wrote: > > > Since XJC already supports using single package name for multiple > > > schemas with different namespace by means of passing the -p parameter, > > > why should this feature be disabled? > > > > I believe (at least at one point), that this was one of the parameters > that > > could not be passed programmatically into jaxb. For example, the -npa > > flag isn't passable as well: > > https://issues.apache.org/jira/browse/CXF-1934 > > > > That said, it may have been fixed at one point. -npa is supposed to be > > fixed on the JAXB trunk to be part of jaxb 2.1.11. If you tested with > the > > -xjc-p thing, then it probably does work now and we could switch to that. > > > > > If we pass -xjc-p,<package-name> in the wsdl2java then XJC should (and > > > does pick) up the single package for all namespaces and builds 1 > > > ObjectFactory.java with createxxx() for all the types. It also generate > > > the package-info.java with the with namespace that is most frequently > > > used and in other JAXB classes it creates the XMLElement with the name > > > and namespace. > > > > Cool. Maybe eliminate the error and pass it that way. That would be > > perfect. > > > > > One thing I noticed is that JAXBDataBinding class is actually passing > > > the default packagename passed to the wsdl2java to XJC. Should it be > > > doing that? Instead it should just let the user pass JAXB package > > > through the -xjc argument. > > > > > > if (context.getPackageName() != null) { > > > > > > schemaCompiler.setDefaultPackageName(context.getPackageName()); > > > } > > > > > > The context.getPackageName is the -p parameter of wsdl2Java (i.e. the > > > default package for the service interface, fault-class etc. Should we > be > > > really passing the same to databinding compiler - XJC? > > > > The purpose was to allow things to be easily specified in one place and > > the tooling could separate things out. Basically, allow a single -p > blah > > to dump everything out in blah if that's possible. If we can map the -p > > into xjc's - p flag, that would accomplish that. > > > > Dan > > > > > Thanks, > > > Sam > > > > > > -----Original Message----- > > > From: Daniel Kulp [mailto:[email protected]] > > > Sent: Monday, March 30, 2009 9:11 AM > > > To: [email protected] > > > Cc: Eamonn Dwyer > > > Subject: Re: wsdl2java -p option change > > > > > > > > > Eamonn, > > > > > > On Mon March 30 2009 9:25:23 am Eamonn Dwyer wrote: > > > > It looks like the use of the -p flag with wsdl2java has changed dor > > > > > > cxf > > > > > > > 2.2. Now it reports > > > > > > > > "-p option cannot be used when wsdl contains mutiple schemas" > > > > > > > > for my wsdl, even though the wsdl compiles with version 2.1.4. > > > > > > Hmm... I thought that message went in for 2.1.4 as well. I'm > surprised > > > it > > > worked for 2.1.4. > > > > > > Actually, that error message should change a bit. -p CAN be used if > > > you > > > provide a unique package for each namespace: > > > > > > -p http://blah.com=com.blah -p http://foo.com=com.foo > > > > > > > The wsdl in question does import other schema, so I reckon that this > > > > > > is > > > > > > > causing the error to be reported. Is that correct? > > > > > > If there are schemas in multiple namespaces, then it should report that > > > issue. > > > > > > > If this is the case, is it really valid to say I cannot specify a > > > > package name now when I import a schema. I can understand it when the > > > > schema is a 3rd party one, but what if I just have simply factored > out > > > > some schema from the wsdl file? > > > > > > Basically, if you have multiple schemas, you NEED to specify a unique > > > package > > > name for each schema so the package-info.java and ObjectFactory.java > for > > > each > > > schema is put in a unique location instead of overwriting itself. > > -- > Daniel Kulp > [email protected] > http://www.dankulp.com/blog >
