I have three methods (simplified for the list):
void setHostID(BigHost ID)
void setHostID(SmallHost ID)
void setHostID(String ID)
BigHost and SmallHost are not exposed via Axis. They show up as type="s:anyType" in the WSDL file.
Problem is that with two setHostID(anyType ID) showing up on the client side, the client side compiler throws errors.
How about something like
<parameter name="allowed method" value="setHostID(String),getName, setType"/>
It looks like allowedMethods are StringTokenizer'd with " ,". The parenthesis and type should make it into the allowedMethod Vector without any changes.
org.apache.axis.description.ServiceDesc.getSyncedOperationsForName() would have to be changed to check if parenthesis where in allowedMethods, and if so, compare implClass.getMethod(allowedMethods[method_num], types).
If this seems like a good suggestion, I could try it out and email a patch.
--Barry
Tom Jordahl wrote:
Hummm.. The allowedMethods attribute on the service doesn't handle this kind of thing.
I am not sure how we would be able to allow you to specify one and not the other.
You could file an enhancement request, but without a strong idea of how it could be done (or better yet some code patches), I wouldn't count on anyone jumping to implement it quick.
--
Tom Jordahl
Macromedia Server Development
-----Original Message-----
From: Aravind Chavar [mailto:[EMAIL PROTECTED]]
Sent: Friday, October 18, 2002 11:16 AM
To: [EMAIL PROTECTED]
Subject: Selectively exposing overloaded methods.
I have an EJB which has overladed methods as
OmniDataRecordOutputBean refresh(OmniDataRecordInputBean in_data)
and
OmniDataRecordOutputWSBean refresh(OmniDataRecordInputWSBean in_data)
Is it possible to expose only one of the overloaded methods in my webservice in AXIS.If so how can that be done?
Thanks,
Arvind
_________________________________________________________________
Unlimited Internet access for only $21.95/month. Try MSN! http://resourcecenter.msn.com/access/plans/2monthsfree.asp
