axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lorenzo Dini <Lorenzo.D...@cern.ch>
Subject Re: Problem on inheritance
Date Wed, 21 Mar 2007 17:00:07 GMT
Hi,

to solve the POJO subclass attributes problem I tried the nighly build 
21/03/2007

I replaced all the old axis2-*.jar with the new axis2-*-SNAPSHOT.jar

is it correct? because now I have this error just after the startUp() call:

java.lang.IllegalArgumentException: prefix cannot be "null" when 
creating a QName


i dunno whether a new bug has been introduced or there are new 
constraints in the new version that weren't present in the 1.1.1.

Any ideas??

Thanks

Lorenzo

Deepal Jayasinghe ha scritto:
> Hi Lorenzo ;
>
> I just made the changes, pls try today's nightly build then you will be
> able to solve the POJO issue.
>
> Thanks
> Deepal
>
>   
>> Hi guys,
>>
>> I still have this problem on inheritance... could you help me? Sorry
>> but this is blocking and I am quite late :-(
>>
>> I want simply to have a method in the web service interface like:
>>
>> public A getA(){
>> return new B();
>> }
>>
>> where B extends A.
>>
>> The WSDL is generated including all the attributes of the type A in
>> the B type definition. This is fine.
>>
>> If i try to do it with POJO only B specific attributes are included in
>> the SOAP return message.
>> Maybe because the system cannot find getters and setters for A's
>> attributes in B....
>>
>> With ADB and XMLBEANS generated code, the mothod getA() must return a
>> type A... but this class includes only A's attributes.
>>
>> How do I solve this problem?
>>
>> Thanks.
>>
>> Lorenzo
>>
>> P.S. I attached the previous message I got no answer.
>>
>>
>> Lorenzo Dini ha scritto:
>>
>>     
>>> Dear axis2 support,
>>>
>>> I am quite new on this technology and I would like to ask you a question on
>>> class inheritance.
>>>
>>> I would like to have a method in the ws interface returning a generic type
>>> (A in the example) and then runtime return a subclass of that generic class
>>> (B I the example).
>>>
>>> I also take care that the subclasses on exposed in the interface are
>>> included in the WSDL.
>>>
>>> I tried with several technologies available in AXIS2 without succeed:
>>>
>>> POJO: even if the automatically generated WSDL is fine (A with a and B with
>>> a and b), when I try to return a subclass B instead of the generic class A,
>>> only variables defined in the subclass B are present in the SOAP message. Is
>>> the system using the wsdl to call getters and setters or it is finding no
>>> method "setA()" in the B class and therefore is not calling it?
>>>
>>> ADB and XMLBEANS: Generating the code, The class B does not extend the class
>>> A so I cannot set an instance of B in the return class defined as A. Of
>>> course A does not contain setters and getters for its subclasses.
>>>
>>> Can you please tell me where I am making mistakes??
>>>
>>> This is the implementation class:
>>>
>>> ==================================================
>>> public class TestServiceImpl{
>>>
>>>    public A getA(){
>>>        A a = new A();
>>>        a.setA("a");
>>>        return a;
>>>    }
>>>
>>>    public A getBunderA(){
>>>        B b = new B();
>>>        b.setA("a");
>>>        b.setB("b");
>>>        return b;
>>>    }
>>>
>>>    public B getB(){
>>>        B b = new B();
>>>        b.setA("a");
>>>        b.setB("b");
>>>        return b;
>>>    }
>>> }
>>> ==================================================
>>>
>>> With the following classes:
>>>
>>> ==================================================
>>> public class A {
>>>
>>>    String a;
>>>
>>>    public String getA() {
>>>        return a;
>>>    }
>>>
>>>    public void setA(String a) {
>>>        this.a = a;
>>>    }
>>> }
>>>
>>> public class B extends A {
>>>    String b;
>>>
>>>    public String getB() {
>>>        return b;
>>>    }
>>>
>>>    public void setB(String b) {
>>>        this.b = b;
>>>    }
>>> }
>>> ==================================================
>>>
>>> Thank you very much!
>>>
>>> Lorenzo.
>>>
>>> --
>>>
>>> Lorenzo Dini
>>>
>>> CERN ­ European Organization for Nuclear Research
>>> Information Technology Department
>>> CH-1211 Geneva 23  
>>>
>>> Building 31 - Office S-021
>>> Phone: +41 (0) 22 7672013
>>> Fax: +41 (0) 22 7668847
>>> E-mail: Lorenzo.Dini@cern.ch
>>>
>>>
>>>  
>>>
>>>       
>> -- 
>>
>> *Lorenzo Dini*
>>
>> CERN – European Organization for Nuclear Research
>> Information Technology Department
>> CH-1211 Geneva 23
>>
>> Building 31 - Office S-021
>> Phone: +41 (0) 22 7672013
>> Fax: +41 (0) 22 7668847
>> E-mail: Lorenzo.Dini@cern.ch
>>
>>     
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>   

-- 

*Lorenzo Dini*

CERN – European Organization for Nuclear Research
Information Technology Department
CH-1211 Geneva 23 

Building 31 - Office S-021
Phone: +41 (0) 22 7672013
Fax: +41 (0) 22 7668847
E-mail: Lorenzo.Dini@cern.ch


Mime
View raw message