Hi,
i just tried to compile with axis2 v.1.5 and still got the same prob.
I try to compile the the generated code of a wsdl containing:
<xs:complexType name="ErrorReportType">
<xs:sequence>...
<xs:element name="Class" form="unqualified"
type="xs:string"/>...
</xs:sequence>
</xs:complexType>
The console returns the following:
C:\svn\mytestproject\src\main\java\test\MyServiceStub.java:[62057,52]
getClass() in test.MyServiceStub.ErrorReportType cannot override getClass() in
java.lang.Object; overridden method is final
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:579)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation
failure
C:\svn\mytestproject\src\main\java\test\MyServiceStub.java:[62057,52]
getClass() in test.MyServiceStub.ErrorReportType cannot override getClass() in
java.lang.Object; overridden method is final[62057,52]
at
org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
... 16 more
I appreciate any help...
Thanks Ike
-------- Original-Nachricht --------
> Datum: Wed, 12 Aug 2009 14:20:25 -0500
> Von: Asen <[email protected]>
> An: [email protected]
> Betreff: Re: Re:
> Thanks.
> I am using standard 1.4.1 and I do not think this fix made it to it.
> Just tested with 1.5 and saw the fix !!!
>
> - private static synchronized String getUniqueSuffix(){
> + private static synchronized java.lang.String getUniqueSuffix(){
>
> On Wed, Aug 12, 2009 at 1:27 PM, Andreas Veithen
> <[email protected]>wrote:
>
> > Ike,
> >
> > Probably it is sufficient to upgrade to Axis2 1.5. I tested this with
> > the current trunk, and ADB now generates a method with name
> > "get_class". Probably the fix went into the 1.5 release.
> >
> > Andreas
> >
> > On Wed, Aug 12, 2009 at 17:08, <[email protected]> wrote:
> > > I got this problem with axis2 1.4.1. . Axis1 doesnt seem to have this
> > problem ,if i run the wsdlfile trough axis1, axis1 places indeed an
> > underscore, so that the get_Class() method is beeing created.
> > >
> > > How can I solve this prob with axis2? do i need to tweak the adb
> > framework ?
> > >
> > > if yes, how this can be implemented if take a look on
> > http://ws.apache.org/axis2/1_5/adb/adb-tweaking.html, i am not clear
> how
> > to implement the org.apache.axis2.schema.typemap.JavaTypeMap interface
> and
> > link it to the adb framework to catch it up.
> > >
> > > thanks
> > > Ike
> > >
> > >
> > > -------- Original-Nachricht --------
> > >> Datum: Wed, 12 Aug 2009 16:55:34 +0200
> > >> Von: Andreas Veithen <[email protected]>
> > >> An: [email protected]
> > >> Betreff: Re:
> > >
> > >> That is not true. If the element is named "string" and part of a
> > >> sequence, ADB doesn't generate anything called String, but only
> > >> methods called setString and getString. There is no conflict here. If
> > >> the element is a root element, ADB will indeed generate a class
> called
> > >> String, but since it is in a different package than java.lang and the
> > >> ADB generated code uses fully qualified class names everywhere, there
> > >> is again no conflict here. For names that match a Java primitive
> type,
> > >> ADB is smart enough to add an underscore to avoid name collisions. It
> > >> seems that the only case that is not addressed is collision with the
> > >> getClass method.
> > >>
> > >> Andreas
> > >>
> > >> On Wed, Aug 12, 2009 at 16:42, Asen<[email protected]> wrote:
> > >> > Excuse my jumping into this, but the same would happen if the the
> > >> element
> > >> > name is as
> > >> > <xs:element name="string" ... /> and the generated 'String'
> extending
> > >> the
> > >> > ADB binding will conflict
> > >> > with the java.lang.String class.
> > >> > I think this is a limitation of the ADB binding.
> > >> > I have not experienced this problem when using the JiBX bindings
> with
> > >> Axis2.
> > >> > I have not tried that yet, but you may try to tweak the ADB
> binding
> > as
> > >> per
> > >> > [1].
> > >> >
> > >> > [1] http://ws.apache.org/axis2/1_5/adb/adb-tweaking.html
> > >> >
> > >> >
> > >> > On Wed, Aug 12, 2009 at 9:22 AM, <[email protected]> wrote:
> > >> >>
> > >> >> Hi folks,
> > >> >> I am generating from a wsdl Client Server Java code, by using the
> > >> >> axis2-wsdl2code-maven-plugin.
> > >> >> The wsdl file contains the following element:
> > >> >> <xs:complexType name="ErrorReportType">
> > >> >> <xs:sequence>… <xs:element name="Class" form="unqualified"
> > >> >> type="xs:string"/>… </xs:sequence>
> > >> >> </xs:complexType>
> > >> >>
> > >> >> While compilation phase a class named “ErrorReporType”
> containing
> > >> a field
> > >> >> named “Class”, and the getter and setter methods are tried to
> be
> > >> generated,
> > >> >> without success. The compilation of the stub failures with the
> > message
> > >> >> “…myPackage.MyStub.ErrorReportType cannot override
> getClass()”
> > >> >>
> > >> >> The problem is the wsdl element "Class" as shown above and final
> > >> declared
> > >> >> method getClass()on java side. Is there any chance to solve this
> > >> problem?
> > >> >>
> > >> >>
> > >> >> I would appreciate any hints…
> > >> >>
> > >> >> Thanks
> > >> >> Ike
> > >> >
> > >> >
> > >
> >