[SOLVED] Can I have an optional parameter for an ASP.NET SOAP web service


I want to build a webservice with this signature, which does not throw an exception if param2 is left empty. Is this possible?

public string HelloWorld(string param1, bool param2) { }

The exception is a System.ArgumentException that is thrown when trying to convert the empty string to boolean.

Ideas that have not worked so far:

  • method overloading is not allowed for webservices, like

    public string HelloWorld(string param1)
        return HelloWorld(param1, false);

as suggested here:

  • make bool nullable bool?. Same exception.
  • manipulate the WSDL, see this answer

My question is related to this question, but the only answer points to WCF contracts, which I have not used yet.


You can have a Overloaded Method in webservices with MessageName attribute. This is a workaround to achieve the overloading functionality.

Look at http://msdn.microsoft.com/en-us/library/byxd99hx%28VS.71%29.aspx

public double Add(double dValueOne, double dValueTwo, double dValueThree)
   return dValueOne + dValueTwo + dValueThree;

public int Add(double dValueOne, double dValueTwo)
   return dValueOne + dValueTwo;

The methods will be made visible as Add2 and Add3to the outside.

Answered By – Rasik Jain

Answer Checked By – Dawn Plyler (BugsFixing Volunteer)

Leave a Reply

Your email address will not be published. Required fields are marked *