Thank you, that's exactly what I meant. So the method names, "authenticate" and "authenticateWithRole", matching with the operation names defined in the services.xml is enough for Axis to know which method to invoke when a request comes in, thank you.
2009/8/7 Chinmoy Chakraborty <[email protected]>: > Do you want to deploy service which has multiple operations? What do you > mean by "actually building the java class that implements the service"? > > If you mean how to write service class with multiple operations then just > add public methods as you did for single operation e.g. I can have two > operations for service "AUTHENTICATE_SERVICE" > > public String authenticate(String username, String password) > public String authenticateWithRole(String username, String password, String > role) > > and you need to add these in your services.xml. e.g. > ... > <parameter name="ServiceClass">abc.service.AuthenticateService</parameter> > <operation name="authenticate"> > <messageReceiver > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> > </operation> > <operation name="authenticateWithRole"> > <messageReceiver > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> > </operation> > ...... > > Chinmoy > > On Fri, Aug 7, 2009 at 7:03 PM, Chris Mannion <[email protected]> > wrote: >> >> That would be using a client to invoke a service with mutliple >> operations though, right? I'm talking about actually building the >> Java class that implements the service. >> >> 2009/8/7 Chinmoy Chakraborty <[email protected]>: >> > You can have multiple operations for a single service name. You just >> > need to >> > set the action (operation name) of a service you want to invoke. >> > >> > Options options = new Options(); >> > RPCServiceClient client = new RPCServiceClient(); >> > options.setTo(targetEPR); >> > options.setAction(OPERATION_NAME); >> > options.setTimeOutInMilliSeconds(600000); >> > client.setOptions(options); >> > ................ >> > and your service name should be .../service/service_name. >> > >> > HTH, >> > Chinmoy >> > >> > On Fri, Aug 7, 2009 at 6:36 PM, Chris Mannion >> > <[email protected]> >> > wrote: >> >> >> >> Hi all >> >> >> >> I've been re-building my old Axis based web-services as Axis2 services >> >> but am a little puzzled about one issue. Two of the services I have >> >> make multiple operations available so I'm just wondering how I got >> >> about building that with Axis2. All the other services that I've >> >> managed to deploy so far all have only one operation so I've managed >> >> to build Java classes with one method which takes an OMElement as >> >> input without really understanding how Axis2 knows that that's the >> >> correct method to call when the web-service is invoked. Now that >> >> there will be multiple methods to match multiple operations on the >> >> web-service, I really need to properly understand how Axis determines >> >> which class method relates to which WS operation. Is it as simple as >> >> making sure the methods have the same name as the operations or is >> >> there something more complicated I'll need to do? >> >> >> >> -- >> >> Chris Mannion >> >> iCasework and LocalAlert implementation team >> >> 0208 144 4416 >> > >> > >> >> >> >> -- >> Chris Mannion >> iCasework and LocalAlert implementation team >> 0208 144 4416 > > -- Chris Mannion iCasework and LocalAlert implementation team 0208 144 4416
