In my interface I have declared this.
[OperationContract]
[WebGet]
String GetStuff(String beep, String boop = \"too lazy to type\");
I impl
you should check out the code generated when adding the service reference.
as the code is generated from WISDL, where the signature is (pseudo):
GetStuff(String , String )
it generates the code accordingly, not knowing about the optional parameters. so, if you want to get lazy, you should alter the proxy class generated or, as @Stephen Borg suggested, overload the function.