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 18:13:54 GMT
On Tue March 31 2009 2:08:23 pm Benson Margulies wrote:
> I did not commit the move to 2.1.10, too many strange incompatibilities.

Well, it's working with 2.1.9 as well.   I THINK it was 2.1.6 that we had 
issues with.  May have been earlier.

Dan


>
> On Tue, Mar 31, 2009 at 1:04 PM, Daniel Kulp <dkulp@apache.org> 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: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

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog

Mime
View raw message