hmmm , for my feeling is we do not need to publish all the public methods in super class as well , and second thing is how do we figure out the inheritance level we should look at , so for this release lets publish only the public methods in service impl class and none of public methods in its parent classes.

Thanks,
Deepal
................................................................
~Future is Open~

----- Original Message ----- From: "Sanjiva Weerawarana" <[EMAIL PROTECTED]>
To: <axis-dev@ws.apache.org>
Sent: Friday, January 06, 2006 10:34 AM
Subject: Re: [Axis2] New feature - making java class a web service


Here's my logic:

- Every service has an AxisService description
For most services this will come from reading the WSDL and in that case
all the WSDL operations become AxisOperation's inside the AxisService.
If the service doesn't have a WSDL, then we manufacture one using
Java2WSDL (for Java services) and create Axis service from there.
Java2WSDL, by default, should only list public methods of the indicated
service class and any classes it inherits from EXCLUDING
java.lang.Object. That is, methods of java.lang.Object are never
exposed.

- Operations are listed in services.xml only to configure them
With the above rule, we NEVER have to add operations to the AxisService
by seeing them in services.xml. The only use of services.xml is to allow
the user to configure something about the operation- special message
receivers, name mappings or anything like that.

- Default MessageReceivers work the way Deepal indicated: system has
defaults (indicated in axis2.xml) and the user can change the defaults
service-wide using services.xml or set a message receiver for a specific
operation using the <operation>.

Sanjiva.

On Fri, 2006-01-06 at 10:16 +0600, Deepal Jayasinghe wrote:
ok , if we all can agree on following then we can publish all the PUBLIC
methods in service impl class.

- services.xml is just to configure the service , if service impl class has 5 methods and user need to configure only few of them in that case he will
add operation tag only for those.

- if user list none of the operations in the services.xml then all the
public operation will be published , with default message receivers
depending on the MEP (we an guess mep by looking at the method signature) .

- and if user want to have his own messaerecivers for his operation then he
has to list them in services.xml , else default will RawXML*MR


pls comment on this soon and I will fix after that.

here is my +1 for publishing all the public methods in services impl class.



Thanks,
 Deepal
................................................................
~Future is Open~

----- Original Message ----- From: "Davanum Srinivas" <[EMAIL PROTECTED]>
To: <axis-dev@ws.apache.org>
Sent: Friday, January 06, 2006 10:04 AM
Subject: Re: [Axis2] New feature - making java class a web service


Deepal,

Then we should fix the w2j to generate all the names of the individual
operations. if you see the comments in the generated services.xml it
says

<!--All public methods of the service class are exposed by default-->

thanks,
dims

On 1/5/06, Deepal Jayasinghe <[EMAIL PROTECTED]> wrote:
> Hi dms
>
> I am sorry for my late reply , if you deploy service as archive file > there > has to be a services.xml describing the service then only that would be > a > valid service, second in current impl you need to list all the > operation > that you need to publish in services.xml (if you have 4 ops in wsdl and > if > you list only 3 ops in services.xml then only those 3 will be > available
> to
> invoke.) , but I don't know this is right or wrong.
>
> But as I can see some user want to use third party wsdl and want only > to
> publish few functionally of them , in that case we can write his
> services.xml including the operation that he need to publish.
>
> ???????????
>
> Thanks,
>  Deepal
> ................................................................
> ~Future is Open~
>
> ----- Original Message -----
> From: "Davanum Srinivas" <[EMAIL PROTECTED]>
> To: <axis-dev@ws.apache.org>
> Sent: Friday, January 06, 2006 3:12 AM
> Subject: Re: [Axis2] New feature - making java class a web service
>
>
> Deepal,
>
> If i run w2j on the WSDL for AXIS2-243
> (http://issues.apache.org/jira/secure/attachment/12321416/DLDataService.wsdl)
> and run the server as per my prev instructions, i don't see the
> operations *IF* i don't drop my wsdl. If i drop my wsdl in resources
> all's well. So basically there is a problem filling up the operations
> of the AxisServer IF the wsdl is missing.
>
> thanks,
> dims
>
> On 1/4/06, Deepal Jayasinghe <[EMAIL PROTECTED]> wrote:
> >
> > Hi all;
> >
> > Sanjiva and I came up with the idea of providing a way to make a java
> > class
> > into AxisService , so I implemented that last night and it work as we
> > wanted. I feel that a very cool feature so if some one does not like > > to > > write services.xml or wsdl and in the mean while he wants to make > > java
> > class
> > into web service now he can do that.
> >
> > the only requirement is the corresponding java file should be there > > in
> > the
> > class path , any way I will improve this to take actual java class > > not
> > the
> > name of the java class , in the mean while if I have time I will > > modify
> > web
> > admin guide to support this.
> >
> > Note : To support any (not all) data types I made operation message
> > receiver
> > as RPCMessageReciver.
> >
> >
> > any comments ...... ?
> >
> > Thanks,
> >  Deepal
> > ................................................................
> > ~Future is Open~
> >
>
>
> --
> Davanum Srinivas : http://wso2.com/blogs/
>
>
>


--
Davanum Srinivas : http://wso2.com/blogs/






Reply via email to