Andreas, I won't say it if it was not true, but I think you need lettle more
backgaound in the way I have produce it.
I do not judge the smartness of the ADB binding, just saying that I have
encountered a problem using them and also have found a work around for it in
my particular case.

The deal here is that the "string" element is not part of any sequence of
elements of some complex type one.
It is just an simple element part of a schema imported to the .wsdl. Here is
a sample schema:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://tempuri.org/"; xmlns:xs="
http://www.w3.org/2001/XMLSchema";
    xmlns:tns="http://tempuri.org/";>
    <xs:element name="string" nillable="true" type="xs:string" />
</xs:schema>

I found similar schema imported into a .wsdl I have worked with.

The ADB binding has number of option and let me tell you how I am using it
so I am getting the conflict I have mentioned above. I am using the simple
wrapped binding, which I belive is the default for ADB binding in axis2
1.4.1
and also using the following options:
-uri
--noWSDL
--noBuildXML
-d abd
-o
-S
-p


You may want to try it your self to get convinced or I can provide you with
an example in which the generated ADBBeans will not compile due to:

wsdl2java:
Retrieving document at '/home/user/test/wsdl/user.wsdl'.
Retrieving document at './import/userimport.wsdl', relative to
'file:/home/user/test/wsdl/user.wsdl'.
Retrieving schema at './xsd0.xsd', relative to
'file:/home/user/test/wsdl/import/userimport.wsdl'.
.....
Generated Java webservice stubs for /home/user/test/wsdl/user.wsdl in
com.soap.wsdl.user

Compiling 93 source files to /home/user/test/build/classes
/home/user/test/src/java/com/soap/wsdl/user/UserStub.java:34: incompatible
types
found   : java.lang.String
required: com.soap.wsdl.user.UserStub.String
            return Long.toString(System.currentTimeMillis()) + "_" +
counter;
                                                                   ^

So, there is really a case when the ADB generates a class named String !!!!
as inner class into the Stub class and the conflict is  there.
That is an issue with the wrapped ADB's. Are you agree ?
What I have said is from what I have expirienced and if proof is needed I
will provide it.



On Wed, Aug 12, 2009 at 10:08 AM, <[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
> > >
> > >
>

Reply via email to