Method Overloading is outside paradigm of SOA as each method within a WSDL must be unique. Hence by default Web Services do not support Method Overloading. Otherwise it leads to WSDL name clashes.
But .NET provides an alternative way to do it using the MessageName Property of the WebMethod Attribute which changes the method name in the WSDL.
Sample Code:
namespace TestOverloadingWebService
{
[WebService(Namespace = "http://tempuri.org/")]
public class OverloadingInWebService : System.Web.Services.WebService
{
[WebMethod(MessageName = "AddInt", EnableSession = true)]
public int Add(int a, int b)
{
return (a + b);
}
[WebMethod(MessageName = "AddFloat", EnableSession = true)]
public float Add(float a, float b)
{
return (a + b);
}
}
}
But .NET provides an alternative way to do it using the MessageName Property of the WebMethod Attribute which changes the method name in the WSDL.
Sample Code:
namespace TestOverloadingWebService
{
[WebService(Namespace = "http://tempuri.org/")]
public class OverloadingInWebService : System.Web.Services.WebService
{
[WebMethod(MessageName = "AddInt", EnableSession = true)]
public int Add(int a, int b)
{
return (a + b);
}
[WebMethod(MessageName = "AddFloat", EnableSession = true)]
public float Add(float a, float b)
{
return (a + b);
}
}
}
No comments:
Post a Comment