cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: wsdl2java -p option change
Date Tue, 31 Mar 2009 17:04:21 GMT

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:dkulp@apache.org]
> > Sent: Monday, March 30, 2009 9:11 AM
> > To: dev@cxf.apache.org
> > 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
dkulp@apache.org
http://www.dankulp.com/blog

Mime
View raw message