You are right. ADB does it correctly for "class", but not for "Class".
Can you open a JIRA report for this issue, please?

Andreas

On Thu, Aug 13, 2009 at 10:07, <turbok...@gmx.de> wrote:
> 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 <asen.m.ase...@gmail.com>
>> An: axis-user@ws.apache.org
>> 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
>> <andreas.veit...@gmail.com>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, <turbok...@gmx.de> 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 <andreas.veit...@gmail.com>
>> > >> An: axis-user@ws.apache.org
>> > >> 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<asen.m.ase...@gmail.com> 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, <turbok...@gmx.de> 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
>> > >> >
>> > >> >
>> > >
>> >
>

Reply via email to