You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by aaa aaa <ka...@gmail.com> on 2010/12/14 17:19:38 UTC

wsdl2java version 2.3.1

Hello,

I am new to Apache CXF. I tried it few months ago with Apache CXF 2.3.0,
with a contract first approach.

Now that the version 2.3.1 is released, I used again the wsdl2java tools to
check for differences.
I encounter a compilation error on the generated Service class.

This come from the new features:

    public SwafeService(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE, features);
    }
    public SwafeService(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE, features);
    }

    public SwafeService(URL wsdlLocation, QName serviceName,
WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }

I have resolved the problem by switching to a Java 7 JVM or deleting this
generated code.

It would be good to add a notification/warning on the wdsl2java tool page
and/or on the changelog. I think migration from Java 5 to Java 7 is a big
change that would deserve it.

Or maybe rather put an option in the wsdl2java tool to explicitly add or not
this new feature.

Regards,

Kayser

Re: wsdl2java version 2.3.1

Posted by Daniel Kulp <dk...@apache.org>.
On Wednesday 15 December 2010 4:21:16 am aaa aaa wrote:
> I see.
> 
> Version 2.3.1 add this endorsed dir, which explain why the wsdl2java tool
> generate 2.2 compliant code.
> 
> Problem come from the ant build.xml file. It doesn't include the endorsed
> dir in the classpath for compile task.
> This occure for both my custom build.xml (sounds logical as it didn't exist
> in 2.3.0) but also for the auto-generated build file.
> 
> Quick fix is to either to remove the jar of the endorsed dir so the code is
> 2.1 compliant as you stated, either to fix after generation the build file
> to add the endorsed dir to classpath.

AH!!!   The generated build.xml file.   Now I get it.   Yep.  That's a bug.   
The samples all use a common_build.xml that is fine.    Now I understand it 
and can  reproduce.

Thanks!

Dan


> 
> Thanks for your help.
> 
> Kayser
> 
> 2010/12/14 Daniel Kulp <dk...@apache.org>
> 
> > You don't NEED to move to java 7.   There are two options:
> > 
> > 1) Endorse the jars in the lib/endorsed directory.  That upgrades the
> > apis that are picked up to 2.2 level.   The wsdl2java script does that
> > so they are
> > picked up.  When found, the tool generates 2.2 compiant code and thus
> > would need to have the 2.2 jars endorsed to be compilable.
> > 
> > 2) Remove the jars in the endorsed dir.   In that case, it would pick up
> > the
> > 2.1 level version built into the JDK and it will generate 2.1 compliant
> > code
> > and compilable without endorsing anything.
> > 
> > The endorsement of the jars is mentioned in the migration guide:
> > http://cxf.apache.org/docs/23-migration-guide.html
> > 
> > 
> > Dan
> > 
> > On Tuesday 14 December 2010 11:19:38 am aaa aaa wrote:
> > > Hello,
> > > 
> > > I am new to Apache CXF. I tried it few months ago with Apache CXF
> > > 2.3.0, with a contract first approach.
> > > 
> > > Now that the version 2.3.1 is released, I used again the wsdl2java
> > > tools
> > 
> > to
> > 
> > > check for differences.
> > > I encounter a compilation error on the generated Service class.
> > > 
> > > This come from the new features:
> > >     public SwafeService(WebServiceFeature ... features) {
> > >     
> > >         super(WSDL_LOCATION, SERVICE, features);
> > >     
> > >     }
> > >     public SwafeService(URL wsdlLocation, WebServiceFeature ...
> > >     features)
> > 
> > {
> > 
> > >         super(wsdlLocation, SERVICE, features);
> > >     
> > >     }
> > >     
> > >     public SwafeService(URL wsdlLocation, QName serviceName,
> > > 
> > > WebServiceFeature ... features) {
> > > 
> > >         super(wsdlLocation, serviceName, features);
> > >     
> > >     }
> > > 
> > > I have resolved the problem by switching to a Java 7 JVM or deleting
> > > this generated code.
> > > 
> > > It would be good to add a notification/warning on the wdsl2java tool
> > > page and/or on the changelog. I think migration from Java 5 to Java 7
> > > is a big change that would deserve it.
> > > 
> > > Or maybe rather put an option in the wsdl2java tool to explicitly add
> > > or not this new feature.
> > > 
> > > Regards,
> > > 
> > > Kayser
> > 
> > --
> > Daniel Kulp
> > dkulp@apache.org
> > http://dankulp.com/blog

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

Re: wsdl2java version 2.3.1

Posted by aaa aaa <ka...@gmail.com>.
I see.

Version 2.3.1 add this endorsed dir, which explain why the wsdl2java tool
generate 2.2 compliant code.

Problem come from the ant build.xml file. It doesn't include the endorsed
dir in the classpath for compile task.
This occure for both my custom build.xml (sounds logical as it didn't exist
in 2.3.0) but also for the auto-generated build file.

Quick fix is to either to remove the jar of the endorsed dir so the code is
2.1 compliant as you stated, either to fix after generation the build file
to add the endorsed dir to classpath.

Thanks for your help.

Kayser

2010/12/14 Daniel Kulp <dk...@apache.org>

>
> You don't NEED to move to java 7.   There are two options:
>
> 1) Endorse the jars in the lib/endorsed directory.  That upgrades the apis
> that are picked up to 2.2 level.   The wsdl2java script does that so they
> are
> picked up.  When found, the tool generates 2.2 compiant code and thus would
> need to have the 2.2 jars endorsed to be compilable.
>
> 2) Remove the jars in the endorsed dir.   In that case, it would pick up
> the
> 2.1 level version built into the JDK and it will generate 2.1 compliant
> code
> and compilable without endorsing anything.
>
> The endorsement of the jars is mentioned in the migration guide:
> http://cxf.apache.org/docs/23-migration-guide.html
>
>
> Dan
>
>
>
> On Tuesday 14 December 2010 11:19:38 am aaa aaa wrote:
> > Hello,
> >
> > I am new to Apache CXF. I tried it few months ago with Apache CXF 2.3.0,
> > with a contract first approach.
> >
> > Now that the version 2.3.1 is released, I used again the wsdl2java tools
> to
> > check for differences.
> > I encounter a compilation error on the generated Service class.
> >
> > This come from the new features:
> >
> >     public SwafeService(WebServiceFeature ... features) {
> >         super(WSDL_LOCATION, SERVICE, features);
> >     }
> >     public SwafeService(URL wsdlLocation, WebServiceFeature ... features)
> {
> >         super(wsdlLocation, SERVICE, features);
> >     }
> >
> >     public SwafeService(URL wsdlLocation, QName serviceName,
> > WebServiceFeature ... features) {
> >         super(wsdlLocation, serviceName, features);
> >     }
> >
> > I have resolved the problem by switching to a Java 7 JVM or deleting this
> > generated code.
> >
> > It would be good to add a notification/warning on the wdsl2java tool page
> > and/or on the changelog. I think migration from Java 5 to Java 7 is a big
> > change that would deserve it.
> >
> > Or maybe rather put an option in the wsdl2java tool to explicitly add or
> > not this new feature.
> >
> > Regards,
> >
> > Kayser
>
> --
> Daniel Kulp
> dkulp@apache.org
> http://dankulp.com/blog
>

Re: wsdl2java version 2.3.1

Posted by Daniel Kulp <dk...@apache.org>.
You don't NEED to move to java 7.   There are two options:

1) Endorse the jars in the lib/endorsed directory.  That upgrades the apis 
that are picked up to 2.2 level.   The wsdl2java script does that so they are 
picked up.  When found, the tool generates 2.2 compiant code and thus would 
need to have the 2.2 jars endorsed to be compilable. 

2) Remove the jars in the endorsed dir.   In that case, it would pick up the 
2.1 level version built into the JDK and it will generate 2.1 compliant code 
and compilable without endorsing anything.

The endorsement of the jars is mentioned in the migration guide:
http://cxf.apache.org/docs/23-migration-guide.html


Dan



On Tuesday 14 December 2010 11:19:38 am aaa aaa wrote:
> Hello,
> 
> I am new to Apache CXF. I tried it few months ago with Apache CXF 2.3.0,
> with a contract first approach.
> 
> Now that the version 2.3.1 is released, I used again the wsdl2java tools to
> check for differences.
> I encounter a compilation error on the generated Service class.
> 
> This come from the new features:
> 
>     public SwafeService(WebServiceFeature ... features) {
>         super(WSDL_LOCATION, SERVICE, features);
>     }
>     public SwafeService(URL wsdlLocation, WebServiceFeature ... features) {
>         super(wsdlLocation, SERVICE, features);
>     }
> 
>     public SwafeService(URL wsdlLocation, QName serviceName,
> WebServiceFeature ... features) {
>         super(wsdlLocation, serviceName, features);
>     }
> 
> I have resolved the problem by switching to a Java 7 JVM or deleting this
> generated code.
> 
> It would be good to add a notification/warning on the wdsl2java tool page
> and/or on the changelog. I think migration from Java 5 to Java 7 is a big
> change that would deserve it.
> 
> Or maybe rather put an option in the wsdl2java tool to explicitly add or
> not this new feature.
> 
> Regards,
> 
> Kayser

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