wsdl2java mix up order of elements and arrays in super constructor call

http://issues.apache.org/jira/browse/AXIS-2545


Use the Axis 1.4 nightly build.

I am using Nov 19 build and this was fixed.

http://people.apache.org/dist/axis/nightly/axis-bin-1_4.zip


============================================================================
=====

-----Original Message-----
From: Alexey Zavizionov [mailto:[EMAIL PROTECTED]
Sent: Friday, 25 January 2008 11:08 PM
To: [email protected]
Cc: Roman Pedchenko; Gennady Azarenkov
Subject: Re: Axis 1.4 WSDL4J wrong arguments sequence in generated
classes


Hi,

WSDL2Java generates uncompilable code.

Classes that inherite from some parent classes have the constructor
parameters in the wrong order.

Example:

I have the exeption
/home/alexey/java/eXoProjects/portlet-container/trunk/component/plugins/wsrp
2/target/generated/org/exoplatform/services/wsrp2/type/MarkupContext.java:[3
1,8]
cannot find symbol
symbol  : constructor MimeResponse(java.lang.String,java.lang.Boolean)
location: class org.exoplatform.services.wsrp2.type.MimeResponse

Parent:

   <complexType name="MimeResponse">
    <sequence>
      <element name="useCachedItem"      type="xsd:boolean"
default="false" minOccurs="0"/>
    </sequence>
    <attribute name="ccppProfileWarning" type="xsd:string"
use="optional"/>
  </complexType>
  <element name="MimeResponse" type="types:MimeResponse"/>

public class MimeResponse  implements java.io.Serializable {

    public MimeResponse(
           java.lang.Boolean useCachedItem,
           java.lang.String ccppProfileWarning) {
           this.useCachedItem = useCachedItem;
           this.ccppProfileWarning = ccppProfileWarning;
    }

Child:

  <complexType name="MarkupContext">
    <complexContent>
      <extension base="types:MimeResponse">
        <sequence>
          <element name="preferredTitle"      type="xsd:string"
 minOccurs="0"/>
        </sequence>
      </extension>
    </complexContent>
  </complexType>
  <element name="MarkupContext" type="types:MarkupContext"/>

public class MarkupContext  extends
org.exoplatform.services.wsrp2.type.MimeResponse  implements
java.io.Serializable {

    public MarkupContext(
           java.lang.String ccppProfileWarning,
           java.lang.Boolean useCachedItem,
           java.lang.String preferredTitle) {
        super(
            ccppProfileWarning,
            useCachedItem);
        this.preferredTitle = preferredTitle;
    }

Alexey.

On Jan 24, 2008 6:27 PM, Alexey Zavizionov <[EMAIL PROTECTED]>
wrote:
> Hi,
>
> Please take a look at the issue.
> That blocks my work!
>
> Thaks,
> Alexey
>
> On Jul 10, 2007 10:05 AM, Alexey Zavizionov
>
> <[EMAIL PROTECTED]> wrote:
> > Looks like a bug in axis1 1.4
> >
> > The class MimeResponse generated correctly with attribute
> > "ccppProfileWarning" as last parameter in constructor, but
> > MarkupContext generated wrong, IMHO, because MarkupContext call super
> > constructor with first (should be last) parameter "ccppProfileWarning"
> >
> > Any approvement from axis team?
> >
> > Regards,
> > Alexey
> >
> >
> > On 7/9/07, Max Shaposhnik <[EMAIL PROTECTED]> wrote:
> > >
> > > Hello,
> > > trying to use Axis 1.4 for implementing some web service, but
> > > got compile error as follows:
> > >
> > > part of wsdl schema:
> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >   <complexType name="MimeResponse">
> > >     <sequence>
> > >       <element name="useCachedItem"      type="xsd:boolean"
> > > default="false" minOccurs="0"/>
> > >       <element name="mimeType"           type="xsd:string"
> > > minOccurs="0"/>
> > >       <element name="itemString"         type="xsd:string"
> > > minOccurs="0"/>
> > >       <element name="itemBinary"         type="xsd:base64Binary"
> > > minOccurs="0"/>
> > >       <element name="locale"             type="xsd:string"
> > > minOccurs="0"/>
> > >       <element name="requiresRewriting"  type="xsd:boolean"
> > > default="false" minOccurs="0"/>
> > >       <element name="cacheControl"       type="types:CacheControl"
> > > minOccurs="0"/>
> > >       <element name="extensions"         type="types:Extension"
> > > minOccurs="0"   maxOccurs="unbounded"/>
> > >     </sequence>
> > >         <attribute name="ccppProfileWarning" type="xsd:string"
> > > use="optional"/>
> > >   </complexType>
> > >   <element name="MimeResponse" type="types:MimeResponse"/>
> > >
> > >   <complexType name="MarkupContext">
> > >     <complexContent>
> > >       <extension base="types:MimeResponse">
> > >         <sequence>
> > >           <element name="preferredTitle"       type="xsd:string"
> > > minOccurs="0"/>
> > >         </sequence>
> > >       </extension>
> > >     </complexContent>
> > >   </complexType>
> > >   <element name="MarkupContext" type="types:MarkupContext"/>
> > > ~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > >
> > >
> > > Output code ( look for super() constructor ):
> > > ~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > > public class MarkupContext  extends
> > > org.mycompany.services.wsrp.type.MimeResponse  implements
> > > java.io.Serializable {
> > >     private java.lang.String preferredTitle;
> > >
> > >     public MarkupContext() {
> > >     }
> > >
> > >     public MarkupContext(
> > >            java.lang.String ccppProfileWarning,
> > >            java.lang.Boolean useCachedItem,
> > >            java.lang.String mimeType,
> > >            java.lang.String itemString,
> > >            byte[] itemBinary,
> > >            java.lang.String locale,
> > >            java.lang.Boolean requiresRewriting,
> > >            org.exoplatform.services.wsrp.type.CacheControl
cacheControl,
> > >            org.exoplatform.services.wsrp.type.Extension[] extensions,
> > >            java.lang.String preferredTitle) {
> > >         super(
> > >             ccppProfileWarning,
> > >             useCachedItem,
> > >             mimeType,
> > >             itemString,
> > >             itemBinary,
> > >             locale,
> > >             requiresRewriting,
> > >             cacheControl,
> > >             extensions);
> > >         this.preferredTitle = preferredTitle;
> > >     }
> > >
> > >
> > >
> > > and  here is MimeResponse constructor:
> > >
> > >  public MimeResponse(
> > >            java.lang.Boolean useCachedItem,
> > >            java.lang.String mimeType,
> > >            java.lang.String itemString,
> > >            byte[] itemBinary,
> > >            java.lang.String locale,
> > >            java.lang.Boolean requiresRewriting,
> > >            org.exoplatform.services.wsrp.type.CacheControl
cacheControl,
> > >            org.exoplatform.services.wsrp.type.Extension[] extensions,
> > >            java.lang.String ccppProfileWarning) {
> > >            this.useCachedItem = useCachedItem;
> > >            this.mimeType = mimeType;
> > >            this.itemString = itemString;
> > >            this.itemBinary = itemBinary;
> > >            this.locale = locale;
> > >            this.requiresRewriting = requiresRewriting;
> > >            this.cacheControl = cacheControl;
> > >            this.extensions = extensions;
> > >            this.ccppProfileWarning = ccppProfileWarning;
> > >     }
> > > ~~~~~~~~~~~~~~~~~~~~~~~~
> > >
> > >
> > > As you can see,  the sequence of arguments is not match. Is it
inheritance
> > > problem?
> > > Tnx for any suggestions.
> > >
> > >
> > > --
> > > View this message in context:
http://www.nabble.com/Axis-1.4-WSDL4J-wrong-arguments-sequence-in-generated-
classes-tf4049803.html#a11503152
> > > Sent from the Axis - User mailing list archive at Nabble.com.
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to