You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Marco Rossi <mr...@gmail.com> on 2009/01/16 15:17:45 UTC

axis2 inheritance doesn't work?

In this article (http://www.developer.com/xml/article.php/10929_3726461_3)
Deepal Jayasinghe introduces the axis2 framework.

"Axis2 POJO supports inheritance, so you can write your service class to
extend some other class and publish parent(s) method(s) automatically".

I try this example, but in the wsdl generated i don't see the methods of the
parent class.


What's wrong?

Re: axis2 inheritance doesn't work?

Posted by Marco Rossi <mr...@gmail.com>.
Ok, thanks.


On Fri, Jan 16, 2009 at 5:25 PM, Deepal Jayasinghe <de...@gmail.com>wrote:

> The problem is due  to the wsdl, even though you have changed
> services.xml and added the new operation. Axis2 can not generate the
> correct wsdl for that method, that is why you are encountering such a
> problem. Well to solve the problem there are few ways
>  - Need to edit the wsdl
>  - Add the method to the service class and just call super.method.
>
> Thank you!
> Deepal
>
> On Fri, Jan 16, 2009 at 11:09 AM, Marco Rossi <mrossix@gmaile .com> wrote:
> > Sorry, i found the parentOperation, but with a wrong value return and
> input
> > parameter.
> >
> > This is the mothod i want to expose:
> >
> > public String ParentMethod(String param){
> > return "hallo";
> > }
> >
> > But In the stub generated (JAX-WS) i found this one:
> >
> > public void ParentMethod()
> >
> >
> >
> >
> > On Fri, Jan 16, 2009 at 4:09 PM, Marco Rossi <mr...@gmail.com> wrote:
> >>
> >> I try with the messageReceiver and with the MEP attribute, but it
> doesn't
> >> work.
> >> With the JAW-WS client i don't see the parent operation.
> >>
> >> I need to add something else in the configuration file?
> >>
> >> On Fri, Jan 16, 2009 at 3:46 PM, Deepal Jayasinghe <
> deepal@opensource.lk>
> >> wrote:
> >>>
> >>> Well you need one more thing, you need to add the MEP attribute into
> the
> >>> operation or add the message receiver inside the operation. Like below;
> >>> <operation name="parentMethod">
> >>>  <messageReceiver
> >>> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
> >>> </operation>
> >>>
> >>> For more information read
> >>> http://wso2.org/library/2060
> >>>
> >>> Thank you!
> >>> Deepal
> >>>
> >>> > Thanks for your replay, Deepal !
> >>> >
> >>> > I try with this configuration:
> >>> >
> >>> > <service name="AddressBookService" scope="application">
> >>> >     <description>
> >>> >         POJO: AddressBook Service
> >>> >     </description>
> >>> >     <messageReceivers>
> >>> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only
> "
> >>> >
> >>> > class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
> >>> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> >>> >
> >>> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
> >>> >     </messageReceivers>
> >>> >     <parameter
> >>> >
> >>> >
> name="ServiceClass">sample.addressbook.service.AddressBookService</parameter>
> >>> >     <operation name="parentMethod" />
> >>> >
> >>> > </service>
> >>> >
> >>> > In the wsdl now i see the "parentMethod" method, but it doesn't
> >>> > generate the correct stub (using JAX-WS for the client). It's seem to
> >>> > ignore the parent method.
> >>> >
> >>> >
> >>> >
> >>> > On Fri, Jan 16, 2009 at 3:22 PM, Deepal Jayasinghe
> >>> > <deepal@opensource.lk <ma...@opensource.lk>> wrote:
> >>> >
> >>> >     Actually what I meant to say there was you have inheritance
> >>> >     support for
> >>> >     beans not for the service class. When I developed the POJO I
> wanted
> >>> > to
> >>> >     support service class inheritance as well, but due to some of the
> >>> >     complexity I stop doing that.
> >>> >
> >>> >     However implementing that is not hard, only thing you need to is
> >>> >     to add
> >>> >     the operations that you need to expose from the parent classes to
> >>> >     services.xml, then everything would work fine.
> >>> >
> >>> >     Thank you!
> >>> >     Deepal
> >>> >     > In this article
> >>> >     > (http://www.developer.com/xml/article.php/10929_3726461_3)
> Deepal
> >>> >     > Jayasinghe introduces the axis2 framework.
> >>> >     >
> >>> >     > "Axis2 POJO supports inheritance, so you can write your service
> >>> >     class
> >>> >     > to extend some other class and publish parent(s) method(s)
> >>> >     > automatically".
> >>> >     >
> >>> >     > I try this example, but in the wsdl generated i don't see the
> >>> >     methods
> >>> >     > of the parent class.
> >>> >     >
> >>> >     >
> >>> >     > What's wrong?
> >>> >
> >>> >     --
> >>> >     Thank you!
> >>> >
> >>> >
> >>> >     http://blogs.deepal.org
> >>> >     http://deepal.org
> >>> >
> >>> >
> >>>
> >>> --
> >>> Thank you!
> >>>
> >>>
> >>> http://blogs.deepal.org
> >>> http://deepal.org
> >>>
> >>
> >
> >
>

Re: axis2 inheritance doesn't work?

Posted by Deepal Jayasinghe <de...@gmail.com>.
The problem is due  to the wsdl, even though you have changed
services.xml and added the new operation. Axis2 can not generate the
correct wsdl for that method, that is why you are encountering such a
problem. Well to solve the problem there are few ways
  - Need to edit the wsdl
  - Add the method to the service class and just call super.method.

Thank you!
Deepal

On Fri, Jan 16, 2009 at 11:09 AM, Marco Rossi <mrossix@gmaile .com> wrote:
> Sorry, i found the parentOperation, but with a wrong value return and input
> parameter.
>
> This is the mothod i want to expose:
>
> public String ParentMethod(String param){
> return "hallo";
> }
>
> But In the stub generated (JAX-WS) i found this one:
>
> public void ParentMethod()
>
>
>
>
> On Fri, Jan 16, 2009 at 4:09 PM, Marco Rossi <mr...@gmail.com> wrote:
>>
>> I try with the messageReceiver and with the MEP attribute, but it doesn't
>> work.
>> With the JAW-WS client i don't see the parent operation.
>>
>> I need to add something else in the configuration file?
>>
>> On Fri, Jan 16, 2009 at 3:46 PM, Deepal Jayasinghe <de...@opensource.lk>
>> wrote:
>>>
>>> Well you need one more thing, you need to add the MEP attribute into the
>>> operation or add the message receiver inside the operation. Like below;
>>> <operation name="parentMethod">
>>>  <messageReceiver
>>> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>>> </operation>
>>>
>>> For more information read
>>> http://wso2.org/library/2060
>>>
>>> Thank you!
>>> Deepal
>>>
>>> > Thanks for your replay, Deepal !
>>> >
>>> > I try with this configuration:
>>> >
>>> > <service name="AddressBookService" scope="application">
>>> >     <description>
>>> >         POJO: AddressBook Service
>>> >     </description>
>>> >     <messageReceivers>
>>> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
>>> >
>>> > class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
>>> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
>>> >
>>> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>>> >     </messageReceivers>
>>> >     <parameter
>>> >
>>> > name="ServiceClass">sample.addressbook.service.AddressBookService</parameter>
>>> >     <operation name="parentMethod" />
>>> >
>>> > </service>
>>> >
>>> > In the wsdl now i see the "parentMethod" method, but it doesn't
>>> > generate the correct stub (using JAX-WS for the client). It's seem to
>>> > ignore the parent method.
>>> >
>>> >
>>> >
>>> > On Fri, Jan 16, 2009 at 3:22 PM, Deepal Jayasinghe
>>> > <deepal@opensource.lk <ma...@opensource.lk>> wrote:
>>> >
>>> >     Actually what I meant to say there was you have inheritance
>>> >     support for
>>> >     beans not for the service class. When I developed the POJO I wanted
>>> > to
>>> >     support service class inheritance as well, but due to some of the
>>> >     complexity I stop doing that.
>>> >
>>> >     However implementing that is not hard, only thing you need to is
>>> >     to add
>>> >     the operations that you need to expose from the parent classes to
>>> >     services.xml, then everything would work fine.
>>> >
>>> >     Thank you!
>>> >     Deepal
>>> >     > In this article
>>> >     > (http://www.developer.com/xml/article.php/10929_3726461_3) Deepal
>>> >     > Jayasinghe introduces the axis2 framework.
>>> >     >
>>> >     > "Axis2 POJO supports inheritance, so you can write your service
>>> >     class
>>> >     > to extend some other class and publish parent(s) method(s)
>>> >     > automatically".
>>> >     >
>>> >     > I try this example, but in the wsdl generated i don't see the
>>> >     methods
>>> >     > of the parent class.
>>> >     >
>>> >     >
>>> >     > What's wrong?
>>> >
>>> >     --
>>> >     Thank you!
>>> >
>>> >
>>> >     http://blogs.deepal.org
>>> >     http://deepal.org
>>> >
>>> >
>>>
>>> --
>>> Thank you!
>>>
>>>
>>> http://blogs.deepal.org
>>> http://deepal.org
>>>
>>
>
>

Re: axis2 inheritance doesn't work?

Posted by Marco Rossi <mr...@gmail.com>.
Sorry, i found the parentOperation, but with a wrong value return and input
parameter.

This is the mothod i want to expose:

public String ParentMethod(String param){
return "hallo";
}

But In the stub generated (JAX-WS) i found this one:

public void ParentMethod()




On Fri, Jan 16, 2009 at 4:09 PM, Marco Rossi <mr...@gmail.com> wrote:

> I try with the messageReceiver and with the MEP attribute, but it doesn't
> work.
> With the JAW-WS client i don't see the parent operation.
>
> I need to add something else in the configuration file?
>
>
> On Fri, Jan 16, 2009 at 3:46 PM, Deepal Jayasinghe <de...@opensource.lk>wrote:
>
>> Well you need one more thing, you need to add the MEP attribute into the
>> operation or add the message receiver inside the operation. Like below;
>> <operation name="parentMethod">
>>  <messageReceiver
>> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>> </operation>
>>
>> For more information read
>> http://wso2.org/library/2060
>>
>> Thank you!
>> Deepal
>>
>> > Thanks for your replay, Deepal !
>> >
>> > I try with this configuration:
>> >
>> > <service name="AddressBookService" scope="application">
>> >     <description>
>> >         POJO: AddressBook Service
>> >     </description>
>> >     <messageReceivers>
>> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
>> >
>> > class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
>> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
>> >
>> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>> >     </messageReceivers>
>> >     <parameter
>> >
>> name="ServiceClass">sample.addressbook.service.AddressBookService</parameter>
>> >     <operation name="parentMethod" />
>> >
>> > </service>
>> >
>> > In the wsdl now i see the "parentMethod" method, but it doesn't
>> > generate the correct stub (using JAX-WS for the client). It's seem to
>> > ignore the parent method.
>> >
>> >
>> >
>> > On Fri, Jan 16, 2009 at 3:22 PM, Deepal Jayasinghe
>> > <deepal@opensource.lk <ma...@opensource.lk>> wrote:
>> >
>> >     Actually what I meant to say there was you have inheritance
>> >     support for
>> >     beans not for the service class. When I developed the POJO I wanted
>> to
>> >     support service class inheritance as well, but due to some of the
>> >     complexity I stop doing that.
>> >
>> >     However implementing that is not hard, only thing you need to is
>> >     to add
>> >     the operations that you need to expose from the parent classes to
>> >     services.xml, then everything would work fine.
>> >
>> >     Thank you!
>> >     Deepal
>> >     > In this article
>> >     > (http://www.developer.com/xml/article.php/10929_3726461_3) Deepal
>> >     > Jayasinghe introduces the axis2 framework.
>> >     >
>> >     > "Axis2 POJO supports inheritance, so you can write your service
>> >     class
>> >     > to extend some other class and publish parent(s) method(s)
>> >     > automatically".
>> >     >
>> >     > I try this example, but in the wsdl generated i don't see the
>> >     methods
>> >     > of the parent class.
>> >     >
>> >     >
>> >     > What's wrong?
>> >
>> >     --
>> >     Thank you!
>> >
>> >
>> >     http://blogs.deepal.org
>> >     http://deepal.org
>> >
>> >
>>
>> --
>> Thank you!
>>
>>
>> http://blogs.deepal.org
>> http://deepal.org
>>
>>
>

Re: axis2 inheritance doesn't work?

Posted by Marco Rossi <mr...@gmail.com>.
I try with the messageReceiver and with the MEP attribute, but it doesn't
work.
With the JAW-WS client i don't see the parent operation.

I need to add something else in the configuration file?

On Fri, Jan 16, 2009 at 3:46 PM, Deepal Jayasinghe <de...@opensource.lk>wrote:

> Well you need one more thing, you need to add the MEP attribute into the
> operation or add the message receiver inside the operation. Like below;
> <operation name="parentMethod">
>  <messageReceiver
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
> </operation>
>
> For more information read
> http://wso2.org/library/2060
>
> Thank you!
> Deepal
>
> > Thanks for your replay, Deepal !
> >
> > I try with this configuration:
> >
> > <service name="AddressBookService" scope="application">
> >     <description>
> >         POJO: AddressBook Service
> >     </description>
> >     <messageReceivers>
> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> >
> > class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
> >         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> >
> > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
> >     </messageReceivers>
> >     <parameter
> >
> name="ServiceClass">sample.addressbook.service.AddressBookService</parameter>
> >     <operation name="parentMethod" />
> >
> > </service>
> >
> > In the wsdl now i see the "parentMethod" method, but it doesn't
> > generate the correct stub (using JAX-WS for the client). It's seem to
> > ignore the parent method.
> >
> >
> >
> > On Fri, Jan 16, 2009 at 3:22 PM, Deepal Jayasinghe
> > <deepal@opensource.lk <ma...@opensource.lk>> wrote:
> >
> >     Actually what I meant to say there was you have inheritance
> >     support for
> >     beans not for the service class. When I developed the POJO I wanted
> to
> >     support service class inheritance as well, but due to some of the
> >     complexity I stop doing that.
> >
> >     However implementing that is not hard, only thing you need to is
> >     to add
> >     the operations that you need to expose from the parent classes to
> >     services.xml, then everything would work fine.
> >
> >     Thank you!
> >     Deepal
> >     > In this article
> >     > (http://www.developer.com/xml/article.php/10929_3726461_3) Deepal
> >     > Jayasinghe introduces the axis2 framework.
> >     >
> >     > "Axis2 POJO supports inheritance, so you can write your service
> >     class
> >     > to extend some other class and publish parent(s) method(s)
> >     > automatically".
> >     >
> >     > I try this example, but in the wsdl generated i don't see the
> >     methods
> >     > of the parent class.
> >     >
> >     >
> >     > What's wrong?
> >
> >     --
> >     Thank you!
> >
> >
> >     http://blogs.deepal.org
> >     http://deepal.org
> >
> >
>
> --
> Thank you!
>
>
> http://blogs.deepal.org
> http://deepal.org
>
>

Re: axis2 inheritance doesn't work?

Posted by Deepal Jayasinghe <de...@opensource.lk>.
Well you need one more thing, you need to add the MEP attribute into the
operation or add the message receiver inside the operation. Like below;
<operation name="parentMethod">
  <messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</operation>

For more information read
http://wso2.org/library/2060

Thank you!
Deepal

> Thanks for your replay, Deepal !
>
> I try with this configuration:
>
> <service name="AddressBookService" scope="application">
>     <description>
>         POJO: AddressBook Service
>     </description>
>     <messageReceivers>
>         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
>                         
> class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
>         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
>                         
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>     </messageReceivers>
>     <parameter
> name="ServiceClass">sample.addressbook.service.AddressBookService</parameter>
>     <operation name="parentMethod" />
>
> </service>
>
> In the wsdl now i see the "parentMethod" method, but it doesn't
> generate the correct stub (using JAX-WS for the client). It's seem to
> ignore the parent method.
>
>
>
> On Fri, Jan 16, 2009 at 3:22 PM, Deepal Jayasinghe
> <deepal@opensource.lk <ma...@opensource.lk>> wrote:
>
>     Actually what I meant to say there was you have inheritance
>     support for
>     beans not for the service class. When I developed the POJO I wanted to
>     support service class inheritance as well, but due to some of the
>     complexity I stop doing that.
>
>     However implementing that is not hard, only thing you need to is
>     to add
>     the operations that you need to expose from the parent classes to
>     services.xml, then everything would work fine.
>
>     Thank you!
>     Deepal
>     > In this article
>     > (http://www.developer.com/xml/article.php/10929_3726461_3) Deepal
>     > Jayasinghe introduces the axis2 framework.
>     >
>     > "Axis2 POJO supports inheritance, so you can write your service
>     class
>     > to extend some other class and publish parent(s) method(s)
>     > automatically".
>     >
>     > I try this example, but in the wsdl generated i don't see the
>     methods
>     > of the parent class.
>     >
>     >
>     > What's wrong?
>
>     --
>     Thank you!
>
>
>     http://blogs.deepal.org
>     http://deepal.org
>
>

-- 
Thank you!


http://blogs.deepal.org
http://deepal.org


Re: axis2 inheritance doesn't work?

Posted by Marco Rossi <mr...@gmail.com>.
Thanks for your replay, Deepal !

I try with this configuration:

<service name="AddressBookService" scope="application">
    <description>
        POJO: AddressBook Service
    </description>
    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"

class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"

class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <parameter
name="ServiceClass">sample.addressbook.service.AddressBookService</parameter>
    <operation name="parentMethod" />

</service>

In the wsdl now i see the "parentMethod" method, but it doesn't generate the
correct stub (using JAX-WS for the client). It's seem to ignore the parent
method.



On Fri, Jan 16, 2009 at 3:22 PM, Deepal Jayasinghe <de...@opensource.lk>wrote:

> Actually what I meant to say there was you have inheritance support for
> beans not for the service class. When I developed the POJO I wanted to
> support service class inheritance as well, but due to some of the
> complexity I stop doing that.
>
> However implementing that is not hard, only thing you need to is to add
> the operations that you need to expose from the parent classes to
> services.xml, then everything would work fine.
>
> Thank you!
> Deepal
> > In this article
> > (http://www.developer.com/xml/article.php/10929_3726461_3) Deepal
> > Jayasinghe introduces the axis2 framework.
> >
> > "Axis2 POJO supports inheritance, so you can write your service class
> > to extend some other class and publish parent(s) method(s)
> > automatically".
> >
> > I try this example, but in the wsdl generated i don't see the methods
> > of the parent class.
> >
> >
> > What's wrong?
>
> --
> Thank you!
>
>
> http://blogs.deepal.org
> http://deepal.org
>
>

Re: axis2 inheritance doesn't work?

Posted by Deepal Jayasinghe <de...@opensource.lk>.
Actually what I meant to say there was you have inheritance support for
beans not for the service class. When I developed the POJO I wanted to
support service class inheritance as well, but due to some of the
complexity I stop doing that.

However implementing that is not hard, only thing you need to is to add
the operations that you need to expose from the parent classes to
services.xml, then everything would work fine.

Thank you!
Deepal
> In this article
> (http://www.developer.com/xml/article.php/10929_3726461_3) Deepal
> Jayasinghe introduces the axis2 framework.
>
> "Axis2 POJO supports inheritance, so you can write your service class
> to extend some other class and publish parent(s) method(s)
> automatically".
>
> I try this example, but in the wsdl generated i don't see the methods
> of the parent class.
>
>
> What's wrong?

-- 
Thank you!


http://blogs.deepal.org
http://deepal.org