aspose file tools*
The moose likes Web Services and the fly likes one webmethod calling another inside same web service Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "one webmethod calling another inside same web service" Watch "one webmethod calling another inside same web service" New topic
Author

one webmethod calling another inside same web service

Ram Viswanathan
Greenhorn

Joined: Dec 08, 2008
Posts: 2
Hi,

I have a webservice with one @WebMethod (say Method#1) . I have a need to add another @WebMethod (say Method #2) where I need most of the code that I had placed inside Method #1.

I have 2 ways to do this
a) Call Method#1 inside Method#2 and then proceed with additional code for Method#2
b) Move the common code into a private method and have both Method#1 and Method#2 use the common logic.

I am not comfortable using (a) because of calling one public @WebMethod from another public @WebMethod just to reuse code

Please advice if I can use (b) over (a) or any other better way of doing this

Regards
Ram
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Hi!
Personally, I would choose option b because:
- From just looking at the program, it is obvious that method1 and method2 has code in common.
- I feel that there is a greater risk that someone else modifies method1 without realizing it is used by method2 adn thus causing errors that may be more or less subtle if method2 calls method1.
I feel that refactoring common functionality to a private method gives a more clear signal that the code is used at multiple places.
- I would also want to avoid calling a method that is exposed in the web service from within another method that is also exposed in the web service.
I don't have a rational explanation for this, just a feeling...
Best wishes!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: one webmethod calling another inside same web service