If somebody is interested:

Somehow the problem was coming from the deployment configuration file (deploy.wsdd) 
because I had (for some reasons) specified the type mapping for the array of MyBean1 
according to the following:

<typeMapping
       xmlns:myNS="urn:myTest"
       qname="myNS:ArrayOf_MyBean1"
       type="java:MyBean1[]"
       serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
       deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
 />

Seems that Axis1.2beta doesn't work when these arrays mapping are specified. Axis1.1 
was working fine.

Anyway commenting out this type mapping did the trick.

If needed I can log that in the bug database (I have the complete server source example with client ready).

Cheers,
Patrick.

BLIS Webmaster (Patrick Houbaux) wrote:

Dear all,

I have a complex datatype schema in a webservice that has been generated from a javabean-object model.

Some of these beans are declared as abstract and are empty.

When I deploy the webservice everything is fine but when I try to consume the webservice I get a "Missing Default Constructor" error for these abstract-empty beans.

This was working fine with Axis 1.1 and I'm currently stuck trying to found out the reason of this error.
My questions are:
- Is this a bug in Axis 1.2beta? If yes, should I try to submit an issue?
- What has changed between Axis 1.1 and Axis 1.2beta that leads to this error?
- Am I doing something completly wrong here?


To clarify my explanation here is some piece of codes of my webservice:

===== MySuperBean.java

abstract Class MySuperBean{
   String ID;
   public String getID(){
      return ID;
   }

   public void setID(String id_){
      ID=id_;
   }
}
===== MySuperBean2.java

abstract Class MySuperBean2 extends MySuperBean{
}

==== MyBean1.java

Class MyBean1 extends MySuperBean2{
    String name;
    String description;

    // get and set methods for name and description ...
}

==== MyBean2.java
Class MyBean2 {
    MyBean1[] collectionOfBean1;
        // get and set methods for collectionOfBean1
}

==== MyService.java

Class MyService {

     public MyBean2 createMyBean2(){
          return new MyBean2();
     }
}

The error says something like "Enable to create javabean type MySuperBean2 Missing default constructor? error was java.lang.InstanciationException"
and then some stack trace ...


Thanks in advance for any help on shedding me the light on that.
Cheers,
Patrick.



Reply via email to